一尘不染

获取应用程序的窗口句柄

c#

我正在构建一个给另一个应用程序mainWindowhandle的应用程序,它收集有关窗口状态的信息。收集有关子窗口的信息没有问题,但是我无法访问应用程序的其他打开的窗口甚至菜单。有没有办法获取应用程序的所有窗口句柄?


阅读 493

收藏
2020-05-19

共1个答案

一尘不染

您可以执行Process.MainWindowHandle似乎做的事情:使用P /
Invoke调用该EnumWindows函数,该函数为系统中的每个顶级窗口调用一个回调方法。

在回调中,调用GetWindowThreadProcessId,并将窗口的进程ID与进行比较Process.Id。如果进程ID匹配,则将窗口句柄添加到列表中。

2020-05-19