请教 在子线程中能获取调用它的线程句柄吗

[复制链接]
查看11 | 回复10 | 2021-1-27 05:57:00 | 显示全部楼层 |阅读模式
DWORDWINAPIMythread(LPVOIDlparm)
{
??这里如何获得threadHandle的值?
}
HANDLEthreadHandle;
DWORDdw1;
intmain(intargc,char*argv[])
{

threadHandle=CreateThread(NULL,0,Mythread,0,CREATE_SUSPENDED,NULL);
}
分 -->
回复

使用道具 举报

千问 | 2021-1-27 05:57:00 | 显示全部楼层
GetCurrentThread()
回复

使用道具 举报

千问 | 2021-1-27 05:57:00 | 显示全部楼层
用DuplicateHandle
回复

使用道具 举报

千问 | 2021-1-27 05:57:00 | 显示全部楼层
GetCurrentThread()返回的是一个伪句柄,好像在任何线程里返回值都是0xFFFFFFFE
同理,GetCurrentProcess()也一样,返回0xFFFFFFFF
要看你想做什么
回复

使用道具 举报

千问 | 2021-1-27 05:57:00 | 显示全部楼层
引用3楼gg606的回复:GetCurrentThread()返回的是一个伪句柄,好像在任何线程里返回值都是0xFFFFFFFE
同理,GetCurrentProcess()也一样,返回0xFFFFFFFF
要看你想做什么
后半句错了吧?
回复

使用道具 举报

千问 | 2021-1-27 05:57:00 | 显示全部楼层
4楼指的是?
回复

使用道具 举报

千问 | 2021-1-27 05:57:00 | 显示全部楼层
针对LZ发的代码,CreateThread创建成功后就是该线程的句柄,不知道你还想怎么获取
回复

使用道具 举报

千问 | 2021-1-27 05:57:00 | 显示全部楼层
GetCurrentThread()肯定不行,试过

回复

使用道具 举报

千问 | 2021-1-27 05:57:00 | 显示全部楼层
如果要获取真实句柄,就要用DuplicateHandle
回复

使用道具 举报

千问 | 2021-1-27 05:57:00 | 显示全部楼层
引用5楼gg606的回复:4楼指的是?
GetCurrentProcess()也一样,返回0xFFFFFFFF

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行