C#:通过Processname获取所有窗口的WindowHandles

时间:2010-12-17 11:51:15

标签: c# windows winapi forms

有一个带有5个窗口的应用程序。 我有该过程的PID,我如何获得该过程的所有 WindowHandles?

感谢。

3 个答案:

答案 0 :(得分:1)

获取MainWindowHandle,然后在其上调用EnumChildWindows

也许调用托管代码会比 PInvoke 更好,你可以在这里找到更多Managed Windows API

答案 1 :(得分:0)

从本MSDN article中描述的一些PInvoke内容开始。

答案 2 :(得分:0)

用户喜欢这样的东西:

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