Cómo obtener el identificador de una ventana del explorador específica en PowerShell

Cómo obtener el identificador de una ventana del explorador específica en PowerShell

Estoy siguiendo este tutorial aquí: https://blogs.technet.microsoft.com/heyscriptingguy/2015/12/26/weekend-scripter-manage-window-placement-by-using-pinvoke/

ellos usan el codigo

(Get-Process -Name PowerShell).MainWindowHandle

para obtener el control del proceso llamado "PowerShell"

¿Cómo puedo obtener el identificador de una ventana del explorador de archivos con el nombre "FOO"?

Respuesta1

MainWindowHandle no funciona para explorer.exe. El siguiente código funciona para mí

    (New-Object -ComObject 'Shell.Application').Windows() | ForEach-Object { 
        if ($_.locationName -contains "foo") {
             $pwnd = $_.HWND
        }
    }

Respuesta2

Algo como:

$processId = (Get-Process | ? ProcessName -eq explorer | ? MainWindowTitle -match "pattern")

información relacionada