Code 1#include <windows.h> 2#include <stdio.h> 3 4BOOL TerminateProcessFromId(DWORD dwId) 5{ 6 BOOL bRet=FALSE; 7 8 DWORD dwExitCode = 0; 910 //获得进程句柄11 HANDLE hProcess=::OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwId);1213 if (hProcess != NULL)14 {15 //获得退出代码16 ::GetExitCodeProcess(hProcess,&dwExitCode);17 18 if (dwExitCode == STILL_ACTIVE)19 {20 //结束进程21 bRet = ::TerminateProcess(hProcess,dwExitCode);22 }23 }2425 //关闭进程句柄26 CloseHandle(hProcess);2728 return bRet;29}3031int main(int argc, char* argv[])32{33 DWORD dwProcessId = 3948;34 35 TerminateProcessFromId(dwProcessId);3637 return 0;38} ps:TerminateProcess()有个缺点,它只能关闭主线程,如果该程序调用了DLL,那么子线程不会被关闭。 转载于:https://www.cnblogs.com/yinhua_whu/archive/2009/11/19/1606116.html