#include <Windows.h>#include <tlhelp32.h>DWORD GetMainThreadId(DWORD processId = 0){if(processId == 0)processId = GetCurrentProcessId();DWORD threadId = 0;THREADENTRY32 te32 = { sizeof(te32) };HANDLE threadSnap = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0);if(Thread32First(threadSnap, &te32)){do{if( processId == te32.th32OwnerProcessID ){threadId = te32.th32ThreadID;break;}}while(Thread32Next(threadSnap, &te32));}return threadId;}bool IsMainThread(){return GetCurrentThreadId() == GetMainThreadId();}
评论