关闭进程接口封装

Posted wa小怪兽

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关闭进程接口封装相关的知识,希望对你有一定的参考价值。

 1 #pragma once
 2 
 3 #ifndef WINDOWS_H
 4 #define WINDOWS_H
 5 #include<Windows.h>
 6 #endif
 7 
 8 #ifndef TLHELP32_H
 9 #define TLHELP32_H
10 #include <TlHelp32.h>
11 #endif
12 
13 BOOL KillProcessbyPid(DWORD ProcessId)
14 {
15     HANDLE hProcess = OpenProcess(PROCESS_TERMINATE, FALSE, ProcessId);
16     if (hProcess == NULL)
17         return FALSE;
18     if (!TerminateProcess(hProcess, 0))
19         return FALSE;
20     return TRUE;
21 }
22 
23 bool KillProcessbyName(char *threadname)
24 {
25     HANDLE         hProcessSnap;
26     HANDLE         hProcess;
27     PROCESSENTRY32 stcPe32 = { 0 }; 
28     stcPe32.dwSize = sizeof(PROCESSENTRY32);
29     hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
30     if (hProcessSnap == INVALID_HANDLE_VALUE)
31         return false;
32 
33     if (!Process32First(hProcessSnap, &stcPe32))
34     {
35         CloseHandle(hProcessSnap);
36         return false;
37     }
38     do {
39         
40         hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE,
41             stcPe32.th32ProcessID);
42         if (hProcess)
43         {
44             int nPriority = GetPriorityClass(hProcess);
45 
46             CloseHandle(hProcess);                        
47         }
48         
49         if (strcmp(threadname, stcPe32.szExeFile) == 0) {
50             
51             KillProcessbyPid(stcPe32.th32ProcessID);
52             
53         }
54 
55     } while (Process32Next(hProcessSnap, &stcPe32));
56     SetLastError(0);
57     CloseHandle(hProcessSnap);
58     return true;
59 }

 

以上是关于关闭进程接口封装的主要内容,如果未能解决你的问题,请参考以下文章

Java 封装

Java 封装

Java 封装

Java 封装

Java 封装

Java 封装