您的位置:首页 > 其它

如何查找和杀死一个进程

2005-12-31 18:53 375 查看
函数说明:
CreateToolhelp32Snapshot 创建系统快照
Process32First 查找第一个进程
Process32Next 查找下一个进程
OpenProcess 打开进程
GetExitCodeProcess 取得进程终止状态
TerminateProcess 终止进程
CloseHandle 关闭对象句柄
//=========================================
bool KillProcess()
{
HANDLE hSnapshot;
PROCESSENTRY32 lppe;
//创建系统快照
hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
if (hSnapshot == NULL) return false;
//初始化 lppe 的大小
lppe.dwSize = sizeof(lppe);

//查找第一个进程
if (!Process32First(hSnapshot, &lppe)) return false;

do {
if (AnsiString(lppe.szExeFile).Trim().UpperCase()=="PROJECT1.EXE") {
DWORD xCode;
HANDLE hProc = OpenProcess(PROCESS_TERMINATE, false, lppe.th32ProcessID);
if (hProc && GetExitCodeProcess(hProc, &xCode)) {
TerminateProcess(hProc, xCode);
break;
}
}
} while (Process32Next(hSnapshot, &lppe)); //查找下一个进程
if (!CloseHandle(hSnapshot)) return false;

return true;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: