1 bool KillProcess(TCHAR *pProcess)//ch是进程名字符串 2 { 3 HANDLE hSnapshot; 4 PROCESSENTRY32 lppe; 5 //创建系统快照 6 hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL); 7 if (hSnapshot == NULL) 8 return false; 9 //初始化 lppe 的大小 10 lppe.dwSize = sizeof(lppe); 11 //查找第一个进程 12 if (!Process32First(hSnapshot, &lppe)) return false; 13 do 14 { 15 CString str; 16 TRACE(lppe.szExeFile + str + _T("\n")); 17 if(CString(lppe.szExeFile) == CString(pProcess)) 18 { 19 20 DWORD xCode; 21 HANDLE hProc; 22 hProc = OpenProcess(PROCESS_TERMINATE, false, lppe.th32ProcessID); 23 if(!GetExitCodeProcess(hProc, &xCode) ) 24 { 25 TerminateProcess(hProc, xCode); 26 } 27 } 28 } 29 while (Process32Next(hSnapshot, &lppe)); //查找下一个进程 30 if (!CloseHandle(hSnapshot)) 31 return false; 32 return true; 33 }