您的位置:首页 > 其它

根据进程名或者ID称关闭进程

2015-11-07 16:46 483 查看
bool KillProcess(int Pid)

{
HANDLE hProcess; 
DWORD dwPriorityClass;            
//打开进程句柄  
hProcess = OpenProcess (PROCESS_ALL_ACCESS, 
FALSE, Pid); 
if(hProcess == NULL)return false;
dwPriorityClass = GetPriorityClass (hProcess);
if(dwPriorityClass == 0)return false;
//if(!TerminateProcess(hProcess,0))return false;
if(!TerminateProcess(hProcess,1))return false;
CloseHandle (hProcess);
return true;

}

bool KillProcessAll(const char *proname)// 

{
PROCESSENTRY32 pinfo;
pinfo.dwSize = sizeof(PROCESSENTRY32);

HANDLE hProcess = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if (hProcess == INVALID_HANDLE_VALUE) 
return (FALSE); 
BOOL report = Process32First(hProcess,&pinfo);
while(report)
{  
report = Process32Next(hProcess, &pinfo);

if(stringcmp(proname,pinfo.szExeFile)&&pinfo.th32ProcessID!=0)
{
if(!KillProcess(pinfo.th32ProcessID))return false;
}  
}
CloseHandle(hProcess);
return(true);

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