GetCurrentProcess 函式 (processthreadsapi.h)

擷取目前進程的虛擬句柄。

Syntax

HANDLE GetCurrentProcess();

傳回值

傳回值是目前進程的虛擬句柄。

備註

虛擬句柄是目前 (HANDLE) -1 的特殊常數,會解譯為目前的進程句柄。 為了與未來的操作系統相容,最好呼叫 GetCurrentProcess ,而不是硬式編碼此常數值。 每當需要進程句柄時,呼叫進程可以使用虛擬句柄來指定自己的進程。 子進程不會繼承虛擬句柄。

此句柄具有 進程物件的PROCESS_ALL_ACCESS 存取權。 如需詳細資訊,請參閱 處理安全性和訪問許可權

Windows Server 2003 和 Windows XP: 此句柄具有進程之安全性描述元允許的最大存取權,可存取進程的主要令牌。

進程可以建立對本身的「實際」句柄,該句柄在其他進程的內容中有效,或可由其他進程繼承,方法是在呼叫 DuplicateHandle 函式時將虛擬句柄指定為來源句柄。 進程也可以使用 OpenProcess 函式來開啟本身的實際句柄。

不再需要虛擬句柄時,就不需要關閉。 使用虛擬句柄呼叫 CloseHandle 函式沒有任何作用。 如果 DuplicateHandle 複製虛擬句柄,則必須關閉重複的句柄。

範例

如需範例,請參閱 使用重新導向的輸入和輸出建立子進程

規格需求

需求
最低支援的用戶端 Windows XP [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2003 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 processthreadsapi.h (Windows Server 2003、Windows Vista、Windows 7、Windows Server 2008 Windows Server 2008 R2)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

CloseHandle

DuplicateHandle

GetCurrentProcessId

GetCurrentThread

OpenProcess

處理序和執行緒函式

程序

VBS 記憶體保護區中可用的 Vertdll API