6

我正在尝试查找是否有更好的方法来查找属于当前进程的所有线程 ID。看起来使用带有 TH32CS_SNAPTHREAD 的 CreateToolhelp32Snapshot 并迭代线程以检查线程的进程 id 是否等于当前进程 id,这是一种解决方案,但我想避免迭代所有正在运行的线程。我只想遍历属于给定进程的线程。如果有快速简单的 API,请告诉我。我需要用 C++ 来做。

谢谢,阿比奈。

4

2 回答 2

1

如果“当前进程”是您编写的,您可以利用这样一个事实,即在任何时候添加或终止线程时都会调用 DllMain 函数,原因代码为 DLL_THREAD_ATTACH 和 DLL_THREAD_DETACH。然后保留自己的列表很简单。

于 2016-04-23T15:58:56.523 回答
0

使用带有 TH32CS_SNAPPROCESS (0x00000002) 的 CreateToolhelp32Snapshot 后,您可以使用Thread32First 函数获取线程。

示例代码在这里

于 2013-07-01T17:30:03.380 回答