1 //#include <winbase.h>
2 #include <windows.h>
3 #include <process.h>
4 #include <Tlhelp32.h>
5 #include <tchar.h>
6
7
8 BOOL FindAndKillProcessByName(LPCTSTR strProcessName)
9 {
10 if(NULL == strProcessName)
11 {
12 return FALSE;
13 }
14
15 HANDLE handle32Snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
16
17 if (INVALID_HANDLE_VALUE == handle32Snapshot)
18 {
19 return FALSE;
20 }
21
22
23
24 PROCESSENTRY32 pEntry;
25 pEntry.dwSize = sizeof( PROCESSENTRY32 );
26
27
28
29 //Search for all the process and terminate it
30
31 if(Process32First(handle32Snapshot, &pEntry))
32 {
33 BOOL bFound = FALSE;
34 if (!_tcsicmp(pEntry.szExeFile, strProcessName))
35 {
36 bFound = TRUE;
37 }
38 while((!bFound)&&Process32Next(handle32Snapshot, &pEntry))
39 {
40 if (!_tcsicmp(pEntry.szExeFile, strProcessName))
41 {
42 bFound = TRUE;
43 }
44 }
45 if(bFound)
46 {
47 CloseHandle(handle32Snapshot);
48 HANDLE handLe = OpenProcess(PROCESS_TERMINATE , FALSE, pEntry.th32ProcessID);
49 BOOL bResult = TerminateProcess(handLe,0);
50 return bResult;
51 }
52 }
53 CloseHandle(handle32Snapshot);
54 return FALSE;
55 }
56 int main(){
57
58 FindAndKillProcessByName("Notepad.exe");
59 return 0;
60 }