EnumProcess または CreateToolhelp32Snapshot 関数は、プロセス ID を含むプロセス情報を取得するのに役立ちます。
しかし、現在のプロセスのスレッドIDリストを取得することを知りたいです。
DWORD GetMainThreadId(DWORD pId)
{
LPVOID lpThId;
_asm
{
mov eax, fs:[18h]
add eax, 36
mov [lpThId], eax
}
HANDLE hProcess = OpenProcess(PROCESS_VM_READ, FALSE, pId);
if(hProcess == NULL)
return NULL;
DWORD tId;
if(ReadProcessMemory(hProcess, lpThId, &tId, sizeof(tId), NULL) == FALSE)
{
CloseHandle(hProcess);
return NULL;
}
CloseHandle(hProcess);
return tId;
}
このコードはメインスレッドIDを取得するためのものですが、他のスレッドモジュールを取得してメインスレッド以外を終了させたいです。
API関数またはメソッドはありますか?
私のOS:Windows 7 Ultimate
開発ツール: Visual Studio 2008