Я следую этому уроку: https://blogs.technet.microsoft.com/heyscriptingguy/2015/12/26/weekend-scripter-manage-window-placement-by-using-pinvoke/
Они используют код
(Get-Process -Name PowerShell).MainWindowHandle
чтобы получить доступ к процессу под названием «PowerShell»
Как мне получить дескриптор окна проводника с именем «FOO»?
решение1
MainWindowHandle не работает для explorer.exe. Код ниже работает у меня
(New-Object -ComObject 'Shell.Application').Windows() | ForEach-Object {
if ($_.locationName -contains "foo") {
$pwnd = $_.HWND
}
}
решение2
Что-то вроде:
$processId = (Get-Process | ? ProcessName -eq explorer | ? MainWindowTitle -match "pattern")