小编Cli*_*ive的帖子

C++ 从线程 ID 列表中查找 GUI 线程

我正在用 C++ 构建一个应用程序,它使用 Windows 钩子来控制第三方程序。我正在制作的程序是一个教程程序,用于展示如何使用这些第三方程序。我可以找到我想要挂钩的第三方程序的进程 ID,然后我可以查询此进程 ID 以查找线程 ID 列表,以用作 Windows API 函数 SetWindowsHookEx 的参数。但是,我担心从正在运行的进程的线程 ID 列表中,我将挂接到一个可能随时完成的线程。理想情况下,我想连接到运行主 gui 的线程,这很可能是最长的线程之一(即使它不是最长的线程,教程程序也被设计为与 GUI 一起使用,所以它仍然是理想的)。

所以我的问题是从查询进程 id 得到的线程 ID 列表中,有没有办法找到主 GUI id 或另一个合适的线程,这些线程在程序退出之前将一直处于活动状态?显然,我选择的线程 ID 需要有一个事件队列,以便我可以连接到它。

c++ windows winapi multithreading

4
推荐指数
1
解决办法
1550
查看次数

标签 统计

c++ ×1

multithreading ×1

winapi ×1

windows ×1