bool KillProcess(std::string strProcessName)
{
if ("" == strProcessName)
{
return false;
}
HANDLE hSnapShot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if (INVALID_HANDLE_VALUE == hSnapShot)
{
return false;
}
PROCESSENTRY32 stPE;
stPE.dwSize=sizeof(stPE);
BOOL bRet=Process32First(hSnapShot,&stPE);
if (!bRet)
{
return false;
}
std::string strExeFileName;
while(bRet)
{
strExeFileName=stPE.szExeFile;
if(strExeFileName == strProcessName)
{
if (stPE.th32ProcessID != NULL)
{
HANDLE hProcess=OpenProcess(PROCESS_TERMINATE,FALSE,stPE.th32ProcessID);
if (hProcess != INVALID_HANDLE_VALUE)
{
TerminateProcess(hProcess,0);
}
}
}
bRet = Process32Next(hSnapShot,&stPE);
}
CloseHandle(hSnapShot);
return true;
}
1、
#include <Windows.h>
#include <Tlhelp32.h>