c# - 获取应用程序的窗口句柄

标签 c# .net winapi handle

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

最佳答案

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

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

关于c# - 获取应用程序的窗口句柄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/820909/

相关文章:

jquery - 使用 Javascript 解析 .NET 日期

c# - SQLite 是否与 Entity Framework 配合良好?

c++ - 在 Windows 中执行 SetMonitorBrightness 函数时出现无效的监视器句柄错误 - C++

c++ - 如何在一个DLL中找到哪个进程加载了它?

c# - 远程处理 - 有关客户端的信息。 C#

C# 如何检查另一个窗体上的复选框是否被选中?

.net - 在用户注销或 session 结束时删除文件

c# - 优雅的 Win32 无窗口进程终止

C# 套接字模型 View 控件

C# WPF 更新 GUI 并移动网格