So erhalten Sie den Handle eines bestimmten Explorer-Fensters in Powershell

So erhalten Sie den Handle eines bestimmten Explorer-Fensters in Powershell

Ich folge diesem Tutorial hier: https://blogs.technet.microsoft.com/heyscriptingguy/2015/12/26/weekend-scripter-manage-window-placement-by-using-pinvoke/

Sie verwenden den Code

(Get-Process -Name PowerShell).MainWindowHandle

um den Handle des Prozesses namens "PowerShell" zu erhalten

Wie erhalte ich den Handle eines Datei-Explorer-Fensters mit dem Namen „FOO“?

Antwort1

MainWindowHandle funktioniert nicht für explorer.exe. Der folgende Code funktioniert bei mir

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

Antwort2

Etwas wie:

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

verwandte Informationen