WindowsAPI详解——TerminateProcess 终止|杀死其它进程

WindowsAPI详解——TerminateProcess 终止|杀死其它进程 - [VC++编程]

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://www.blogbus.com/flyxxtt-logs/43973152.html

      这个函数可以用来终止或者说杀死一个进程,它不会留给进程及其所有线程清理的时间,系统会马上终止(杀死)这个进程的所有线程,致使进程终止。在使用此函数前我们必须要调用OpenProcess函数来获得我们要终止(杀死)进程的句柄,并且要获得进程的PROCESS_TERMINATE权限。

函数原型:

BOOL TerminateProcess(HANDLE hProcess,UINT uExitCode)

参数说明:

1、hProcess:要终止(杀死)进程的句柄,需要有PROCESS_TERMINATE权限。

2、uExitCode:设置进程的退出值。可通过GetExitCodeProcess函数得到一个进程的退出值。

返回值:

如果失败将返回FALSE(0),而成功将返回一个非零值。

注:不要用if(ret==TRUE)去检测函数是否调用成功,因为函数调用成功会返回一个非零值,但不一定是TRUE(1)

使用例子:

//此函数通过传入的进程ID来终止(杀死)进程

BOOL KillProcess(DWORD ProcessId)
{
    HANDLE hProcess=OpenProcess(PROCESS_TERMINATE,FALSE,ProcessId);
    if(hProcess==NULL)
        return FALSE;
    if(!TerminateProcess(hProcess,0))
        return FALSE;
    return TRUE;
}

你可能感兴趣的:(windows)