2010-12-17 47 views
2

有5個窗口的應用程序。 我有該進程的PID,並且我如何獲得全部該進程的WindowHandles?C#:通過Processname獲取所有窗口的WindowHandles

謝謝。

+1

獲取MainWindowHandle ANS然後調用[EnumChildWindows(http://www.pinvoke.net/default.aspx/user32 .enumchildwindows)就可以了。 – 2010-12-17 12:03:40

回答

0

用戶是這樣的:

Process[] processes = Process.GetProcesses("."); 
foreach (var process in processes) 
{ 
    var handle = process.MainWindowHandle; 
} 
+0

是的。我知道。其他4個窗戶呢? – Lzzzra 2010-12-17 11:57:46

+0

好的。你可以迭代所有的窗口,並從HWND中檢索進程ID,並將這個進程ID與你感興趣的ID進行匹配。查看GetWindowThreadProcessId – 2010-12-17 12:01:42