¿Cómo se puede configurar una aplicación en ejecución como ventana activa a través de PowerShell?

¿Cómo se puede configurar una aplicación en ejecución como ventana activa a través de PowerShell?

Para tomar una captura de pantalla del escritorio medianteeste fragmento, quiero estar seguro de que mi aplicación esté en la imagen capturada.

Cuando ese código se ejecuta por minuto, ¿cómo puedo estar seguro de que mi aplicación estará frente a otras? Como el código es un fragmento de PowerShell, estaba pensando en mezclarlo con algo para activar temporalmente mi aplicación cuando vaya a tomar la captura de pantalla.

Respuesta1

¿Qué has probado?

¿Dónde está tu código?

¿Qué errores estás teniendo?

Native PowerShell no está diseñado para ser una herramienta de administración de GUI. Puede hacerlo, pero no hay ningún cmdlet integrado para hacerlo.

Tienes que apoyarte en cualquiera de los dosEnviar claves, .NET o de tercerosAñadir o herramientas.

Un simpleBlocejemplo con SendKeys: (siempre que su aplicación no esté minimizada)... Entonces, inicie el Bloc de notas, haga clic en otra aplicación para que aparezca en primer plano, luego ejecute el código siguiente, que debería colocar el Bloc de notas en primer plano.

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

… si se minimiza, entonces no funcionará. Se necesita más código para restaurar ventanas minimizadas. Te lo dejaré como tarea.

información relacionada