執行緒&程序(獲取偽控制代碼 & 轉為真實控制代碼)
一.
1. HANDLE GetCurrentThread(); //獲得當前執行緒偽控制代碼
HANDLE GetCurrentProcess(); //獲取當前程序偽控制代碼
2.
3. 偽控制代碼不是真正的控制代碼,因此不需要CloseHandle來關閉
3. 偽控制代碼不會增加執行緒核心物件的應用計數
二. 偽控制代碼轉真實控制代碼
HANDLE hProcess=NULL;
DuplicateHandle(GetCurrentProcess(),
GetCurrentProcess(),
GetCurrentProcess(),
&hProcess,
0,
FALSE,
DUPLICATE_SAME_ACCESS);//偽程序控制代碼轉為真實程序控制代碼
//...
//不用的時候必須關閉 不然會有資源洩露
CloseHandle(hProcess);
HANDLE hThread=NULL;
DuplicateHandle(GetCurrentProcess(),
GetCurrentThread(),
GetCurrentProcess(),
&hThread,
0,
FALSE,
DUPLICATE_SAME_ACCESS);//偽執行緒控制代碼轉換為真實執行緒控制代碼
//..
//不用時也必須關閉
CloseHandle(hThread);