실행중인 프로세스ID를 얻는 방법중 Toolhelp32를 이용한 방법과 PSAPI를 이용한 방법이 있다.
표준 API함수인 Toolhelp32를 이용하는 방법에 대하여 알아보기로 한다.
사용되는 함수는 다음과 같다.
CreateToolhelp32Snapshot(), Process32First(), Process32Next()
예제소스
#include <tlhelp32.h>
HANDLE hProcessSnap;
PROCESSENTRY32 pe32; //프로세스정보를 저장할 구조체
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
Process32First( hProcessSnap, &pe32 );
printf( "\n Process ID = 0x%08X", pe32.th32ProcessID );
printf( "\n Thread count = %d", pe32.cntThreads );
printf( "\n Parent process ID = 0x%08X", pe32.th32ParentProcessID );
printf( "\n Priority base = %d", pe32.pcPriClassBase );
while(Process32Next( hProcessSnap, &pe32 );)
{
printf( "\n Process ID = 0x%08X", pe32.th32ProcessID );
printf( "\n Thread count = %d", pe32.cntThreads );
printf( "\n Parent process ID = 0x%08X", pe32.th32ParentProcessID );
printf( "\n Priority base = %d", pe32.pcPriClassBase );
}
PROCESSENTRY32 구조 (tlhelp32.h)
typedef struct tagPROCESSENTRY32
{
DWORD dwSize;
DWORD cntUsage;
DWORD th32ProcessID; // this process
DWORD th32DefaultHeapID;
DWORD th32ModuleID; // associated exe
DWORD cntThreads;
DWORD th32ParentProcessID; // this process's parent process
LONG pcPriClassBase; // Base priority of process's threads
DWORD dwFlags;
CHAR szExeFile[MAX_PATH]; // Path
} PROCESSENTRY32;
영삼넷
Categories
Recent Posts
Recent Comments
Statistics
- Total Visitors:
- 360550
- Today:
- 684544
- Yesterday:
- 9754055
IT강국 김영삼 블로그에 오신걸 진심으로 환영합니다.
©2002 영삼넷 // openkr
©2002 영삼넷 // openkr