我正在构建一个应用程序,它给另一个应用程序 mainWindowhandle,它收集有关窗口状态的信息。我收集有关子窗口的信息没有问题,但我无法访问应用程序的其他打开窗口甚至菜单。有没有办法获取应用程序的所有窗口句柄?
最佳答案
您可以执行 Process.MainWindowHandle
似乎执行的操作:使用 P/Invoke 调用 EnumWindows
函数,它为系统中的每个顶层窗口调用一个回调方法。
在您的回调中,调用 GetWindowThreadProcessId
,并将窗口的进程 ID 与 Process.Id
进行比较;如果进程 ID 匹配,则将窗口句柄添加到列表中。
关于c# - 获取应用程序的窗口句柄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/820909/