Como um aplicativo em execução pode ser definido como janela ativa via PowerShell?

Como um aplicativo em execução pode ser definido como janela ativa via PowerShell?

Para fazer uma captura de tela da área de trabalho poreste trecho, quero ter certeza de que meu aplicativo está na imagem capturada.

Quando esse código é executado por minuto, como posso ter certeza de que meu aplicativo estará na frente de outros? Como o código é um snippet do PowerShell, estava pensando em misturá-lo com algo para ativar temporariamente meu aplicativo quando ele for fazer a captura de tela.

Responder1

O que você tentou?

Onde está seu código?

Que erros você está tendo?

O Native PowerShell não foi projetado para ser uma ferramenta de gerenciamento de GUI. Você pode fazer isso, mas não há cmdlet integrado para fazer isso.

Você tem que se apoiar em qualquer umEnviarChaves, .NET ou terceirosadicionar ou ferramentas.

Um simplesBloco de anotaçõesexemplo com SendKeys: (desde que seu aplicativo não esteja minimizado)... Então, inicie o Bloco de Notas, clique em outro aplicativo para colocá-lo em primeiro plano e execute o código abaixo, que deve colocar o Bloco de Notas em primeiro plano.

[void] [System.Reflection.Assembly]::LoadWithPartialName("'Microsoft.VisualBasic") 
[Microsoft.VisualBasic.Interaction]::AppActivate((Get-Process -Name notepad).MainWindowTitle)

… se for minimizado, então não funcionará. Mais código é necessário para restaurar janelas minimizadas. Vou deixar isso como lição de casa para você.

informação relacionada