进程句柄和标识符

CreateProcess 函数创建新进程时,将返回新进程及其主线程的句柄。 这些句柄是使用完全访问权限创建的,并且(受安全访问检查的约束)可用于接受线程或进程句柄的任何函数。 这些句柄可由子进程继承,具体取决于创建它们时指定的继承标志。 句柄在关闭之前有效,即使在它们表示的进程或线程已终止之后。

CreateProcess 函数还返回一个标识符,该标识符可在整个系统中唯一标识进程。 进程可以使用 GetCurrentProcessId 函数获取自己的进程标识符 (也称为进程 ID 或 PID) 。 标识符从创建进程到进程终止的时间有效。 进程可以使用 Process32First 函数获取其父进程的进程标识符。

如果有进程标识符,可以通过调用 OpenProcess 函数来获取进程 句柄使用 OpenProcess 可以指定句柄的访问权限以及是否可以继承它。

进程可以使用 GetCurrentProcess 函数检索其自己的进程对象的伪句柄。 此伪句柄仅对调用进程有效;不能继承或复制它以供其他进程使用。 若要获取进程的实际句柄,请调用 DuplicateHandle 函数。