请教:如何获取线程的句柄?

najzni 2004-08-19 01:08:43
比如获取应用程序自身的所有线程的句柄?
...全文
1106 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
najzni 2004-08-19
  • 打赏
  • 举报
回复
用CreateThread产生的线程,可以获取它的句柄。
但如果是其他方式产生的线程,比如定时器,那么如何获取所有线程的句柄呢?
oyljerry 2004-08-19
  • 打赏
  • 举报
回复
用CWinThread *pThread=GetCurrentThread();就可以获得当前线程句柄
Jimmy_Xia 2004-08-19
  • 打赏
  • 举报
回复
比如获取应用程序自身的所有线程的句柄?
-------------------------------------
CWinThread* AfxGetThread();
Return Value: Pointer to the currently executing thread.

holyeagle 2004-08-19
  • 打赏
  • 举报
回复
在msdn里面查Thread Local Storage (TLS) 可能会有帮助
cctime 2004-08-19
  • 打赏
  • 举报
回复
请参考:msdn的Tool Help Library,或google之
CreateToolhelp32Snapshot()
Thread32First()
Thread32Next()
....
DentistryDoctor 2004-08-19
  • 打赏
  • 举报
回复
Performance counters to get threads,
OpenThread to get the HANDLEs.
geland 2004-08-19
  • 打赏
  • 举报
回复
先枚举,再用OpenThread打开就得到了,对别的应用程序也行
Kudeet 2004-08-19
  • 打赏
  • 举报
回复
如果是在你自己的程序中,使用CreateThread函数时,返回值即为线程句柄。对于VC程序员,推荐使用_beginthreadex,其返回值亦为线程句柄,但要进行类型校正。
当使用CreateProcess创建进程时,函数的lpProcessInformation参数中hThread成员是被创建进程主线程的句柄。
对于CWinThread对象,其m_hThread即为线程句柄。
你也可使用GetCurrentThread获取当前线程的句柄,进行针对本线程的操作,不过这是一个伪句柄。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧