最近、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;
}
スレッド 'myThread' は OpenThread() の呼び出し時に終了しているはずなので、HANDLE lHD は NULL になるはずです。ただし、常に 0x00000068 のような NOT NULL 値を取得しました。なぜこれが起こったのかわかりません。何か案が?
ありがとう、シャオモ