본문 바로가기
Code review

[WinApi] 실행중인 프로세스 검사 - FindProcessName()

by cafrisun 2009. 2. 1.
 

실행 파일 이름을 입력 받아 프로세스에서 실행 여부 판단하는 함수

*. 입력파일명은 소문자로 받는다고 가정함.

 

01: #include "Tlhelp32.h"
02: 
03: //
04: // 현재 실행중인 프로세스 리스트에서 파라메터로 받은 실행 파일이 존재하면 TRUE return
05: //
06: BOOL FindProcessName(char *sProcessName)
07: { 
08:         HANDLE hProcessSnap = NULL; 
09:         PROCESSENTRY32 pe32 = {0};
10:         UINT i;
11:         
12:         hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); 
13:         
14:         if (hProcessSnap == INVALID_HANDLE_VALUE) 
15:                 return FALSE; 
16:         
17:         pe32.dwSize = sizeof(PROCESSENTRY32); 
18:         
19:         if(Process32First(hProcessSnap, &pe32)) 
20:         { 
21:                 do 
22:                 { 
23:                         printf("process name : %s\n", pe32.szExeFile);
24:                         
25:                         for(i=0; i<=strlen(pe32.szExeFile); i++)
26:                         {
27:                                 pe32.szExeFile[i] = tolower(pe32.szExeFile[i]);
28:                         }
29: 
30:                         if((0 == strcmp(pe32.szExeFile, sProcessName)))
31:                         { 
32:                                 CloseHandle (hProcessSnap); 
33:                                 return TRUE;
34:                         }
35:                 } 
36:                 while(Process32Next(hProcessSnap, &pe32)); 
37:         }
38:         
39:         CloseHandle (hProcessSnap); 
40:         return FALSE;
41: }
반응형

'Code review' 카테고리의 다른 글

[WinApi]apiStart  (0) 2009.05.27
[C]File merge  (0) 2009.05.27
Linked List Sample  (2) 2009.05.27