線程結束代碼可以調用GetExitCodeThread()(並給予CreateThread所獲得的線程handle作為參數)而得知:
BOOL GetExitCodeThread(
HANDLE hThread,
LPDWORD lpExitCode
);
hThread:由CreateThread()傳回的線程handle
lpExitCode:指向一個DWORD,用於接收結束代碼(exit code)
如果成功傳回TRUE,否則傳回FALSE。如果失敗,可以調用GetLastError()找出原因。如果線程已結束,那么線程的結束代碼會被放在lpExitCode參數中帶回來。如果線程尚未結束,lpExitCode帶回來的值是STILL_ACTIVE。
在調用GetExitCodeThread()之前,要注意不要調用CloseHandle關閉掉線程句柄。GetExitCodeThread()可以在調用WaitForSingleObject()等待線程結束之后調用。
【學習資料】 《Win32多線程程序設計》