Como obter o identificador de uma janela específica do Explorer no PowerShell

Como obter o identificador de uma janela específica do Explorer no PowerShell

Estou seguindo esse tutorial aqui: https://blogs.technet.microsoft.com/heyscriptingguy/2015/12/26/weekend-scripter-manage-window-placement-by-using-pinvoke/

Eles usam o código

(Get-Process -Name PowerShell).MainWindowHandle

para obter o controle do processo chamado "PowerShell"

Como eu conseguiria o identificador de uma janela do explorador de arquivos com o nome "FOO"?

Responder1

MainWindowHandle não funciona para explorer.exe. O código abaixo funciona para mim

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

Responder2

Algo como:

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

informação relacionada