當 CreateProcess 函式建立新進程時,會傳回新進程及其主要線程的句柄。 這些句柄是使用完整訪問許可權建立的,而且,在接受線程或進程句柄的任何函式中,都可以使用安全性存取檢查。 子進程可以繼承這些句柄,視建立這些句柄時指定的繼承旗標而定。 句柄在關閉之前是有效的,即使在進程或線程之後,它們所代表的句柄也已經終止。
CreateProcess 函式也會傳回標識符,以唯一識別整個系統的進程。 進程可以使用 GetCurrentProcessId 函式來取得自己的進程標識碼(也稱為進程識別碼或 PID)。 標識碼從進程建立到進程終止為止都是有效的。 進程可以使用 Process32First 函式來取得其父進程的進程標識碼。
如果您有進程標識碼,您可以呼叫 OpenProcess 函式來取得進程句柄。 OpenProcess 可讓您指定句柄的訪問許可權,以及是否可以繼承它。
進程可以使用 GetCurrentProcess 函式來擷取本身進程對象的虛擬句柄。 此虛擬句柄僅適用於呼叫進程;無法繼承或複製它供其他進程使用。 若要取得進程的實際句柄,請呼叫 DuplicateHandle 函式。