如何在powershell中取得特定資源管理器視窗的句柄

如何在powershell中取得特定資源管理器視窗的句柄

我在這裡關注本教程: 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")

相關內容