如何获取进程的主线程ID(通过其ID得知)?

2023-11-25

您能帮我找到由 ID 指定的进程的主(唯一)线程 ID 吗?

任务背景: 正在运行的进程(目前)没有窗口,但有(一些)线程。

通缉: 发布WM_QUIT仅在主线程。

不想要的: 使用TerminateProcess或发帖WM_QUIT在非主线程。


获取主线程的线程 id 的一种更简单、更可靠的方法是让主线程使用以下方法记录自己的线程 id::GetCurrentThreadId()到一个共享的全局变量中,也许在你的 WinMain 中或者在你的“主线程”的最开始的某个地方:

MainThreadId_G = ::GetCurrentThreadId();

然后在其他线程中,您可以调用:::PostThreadMessage(MainThreadId_G, WM_QUIT, returncode, 0);

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取进程的主线程ID(通过其ID得知)? 的相关文章

随机推荐