我最近尝试编写代码来检查 Windows 中的线程是否处于活动状态。我搜索了这个论坛,发现了这样的讨论:如何检查进程或线程是否处于活动状态,或者在 C++ 中没有给出它们的 ID?.
我知道我可以使用 OpenThread API。但是,它似乎在我的代码中不起作用,如下所示。
DWORD WINAPI myThread( LPVOID lpParam )
{
cout<<"child thread"<<endl;
return 0;
}
int main(void)
{
DWORD lTldID = 0;
HANDLE lTldHD = CreateThread(NULL, 0, myThread, 0, 0, &lTldID);
WaitForSingleObject(lTldHD, INFINITE);
HANDLE lHD = OpenThread(0x0040, FALSE, lTldID);
return 1;
}
我希望 HANDLE lHD 应该为 NULL,因为线程“myThread”应该在调用 OpenThread() 时完成。但是,我总是得到 NOT NULL 值,例如 0x00000068。我不知道为什么会这样。任何想法?
谢谢,小莫