Windows API ——OpenProcess——打开进程

 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 }

 

你可能感兴趣的:(Windows,API)