Win32API 現在実行中のスレッドIDを取得する GetCurrentThreadId

使用するAPI

  • GetCurrentThreadId

  • #include <windows.h>
    #include <process.h>
    
    unsigned int WINAPI ThreadFunc(LPVOID arg)
    {
    	printf("ThreadId(in ThreadFunc) = %u\n", 
    		GetCurrentThreadId());
    	return 0;
    }
    
    int main()
    {
    	HANDLE hThread;
    	unsigned int uiThreadId;
    
    	hThread = (HANDLE)_beginthreadex(NULL, 
    		0,
    		ThreadFunc,
    		NULL,
    		0,
    		&uiThreadId);
    
    	printf("MainThread's ThreadId = %u\n", 
    		GetCurrentThreadId());
    	
    	printf("ThreadFunc's ThreadId = %u\n", 
    		uiThreadId);
    
    	WaitForSingleObject(hThread, INFINITE);
    
    	CloseHandle(hThread);
    
    	return 0;
    }