您的位置:首页 > 编程语言 > C语言/C++

c++命令结束进程树

2015-11-30 20:50 363 查看
// 停止当前进程及其子进程

// 枚举所有的进程

HANDLE hSnapshot;

hSnapshot = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); // 创建快照

if (INVALID_HANDLE_VALUE != hSnapshot)

{

PROCESSENTRY32 process;

memset(&process, 0, sizeof(process));

process.dwSize = sizeof(PROCESSENTRY32); // 注意 必不可少

BOOL first = ::Process32First(hSnapshot, &process);

// 循环列出进程信息

while (first)

{

// 终止

if (processName.CompareNoCase(process.szExeFile) == 0)

{

// 结束当前进程

/*HANDLE hPro = OpenProcess(PROCESS_TERMINATE, FALSE, process.th32ProcessID);

if (hPro != NULL)

{

TerminateProcess(hPro, 0);

CloseHandle(hPro);

}*/

// 停止当前进程及其子进程

sprintf_s(szBuf, "taskkill /PID %d /T /F", process.th32ProcessID);

system(szBuf);

}

first = ::Process32Next(hSnapshot, &process);

}

::CloseHandle(hSnapshot);

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