我正在按照这里的教程进行操作: 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")