TerminateProcess

【勇芳软件工作室】汉化HomePreviousNext

TerminateProcess函数终止指定的进程及其所有线程。

BOOL TerminateProcess(

HANDLE 【hProcess】,//处理进程
UINT 【uExitCode】//退出代码的进程
); 

参数

【hProcess】

标识要终止的过程。

Windows NT:句柄必须具有PROCESS_TERMINATE访问权限。有关详细信息,请参阅过程对象.

【uExitCode】

指定进程的退出代码,以及由于此调用而终止的所有线程。使用GetExitCodeProcess函数来检索进程的退出值。使用GetExitCodeThread函数来检索线程的退出值。

返回值

如果函数成功,返回值不为零。

如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.

备注

TerminateProcess功能用于无条件导致进程退出。仅在极端情况下使用。如果使用TerminateProcess而不是ExitProcess,则动态链接库(DLL)维护的全局数据的状态可能会受到影响。

TerminateProcess会导致进程中的所有线程终止,并导致进程退出,但是不会通知附加到进程的DLL进程正在终止。

终止进程会导致以下情况:

所有由进程打开的对象句柄都被关闭。

2.进程中的所有线程终止其执行。

3.过程对象的状态变为信号,满足等待进程终止的任何线程。

4.过程的所有线程的状态变得有信号,满足等待线程终止的任何线程。

5.过程的终止状态从STILL_ACTIVE更改为进程的退出值。

终止进程不会导致子进程终止。

终止进程不一定从系统中删除进程对象。当进程的最后一个句柄关闭时,进程对象被删除。

也可以看看

ExitProcess, OpenProcess, GetExitCodeProcess, GetExitCodeThread