Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在开发一个用于调试目的的应用程序。我希望用户能够使用鼠标选择要调试的进程。Process Explorer 通过“查找窗口的进程”功能在这方面做得很好。我无法弄清楚它是如何做到的?有谁知道提供此功能的 Window 的 API?
谢谢,格兰特
我还没有尝试过,但它应该可以工作:WindowFromPoint用于获取窗口句柄,然后用于GetWindowThreadProcessId获取创建窗口的进程的 ID。
WindowFromPoint
GetWindowThreadProcessId
或者,您可以使用EnumWindows枚举屏幕上的所有顶级窗口,按某些标准(例如位置)过滤它们,然后用于GetWindowThreadProcessId获取进程 ID。
EnumWindows
如果我对您的理解正确,您希望枚举所有 Windows 并在找到相关目标 Window 时执行一些操作。您可以通过枚举所有当前窗口然后在用户在相关窗口上方时执行一些操作来做到这一点。您必须将该窗口句柄与一个进程相关联。
这不是一项简单的任务,因为它需要经历很多麻烦,但有可能,只需将所有部分放在一起。