Merry Christmas

CreateToolhelp32Snapshot() 와 Process32First(), Process32Next() 를 사용하여 형재 실행중인 프로세서들을 확인한다

 

 

- 사용방법 -

#include <Windows.h>

#include <tlhelp32.h>   // CreateToolhelp32Snapshot() 를 사용하기 위한 해더 포함  

 

int main()
{
    HANDLE   hProcess = NULL;
    PROCESSENTRY32 pe32 = {0};
 
    hProcess = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );
    pe32.dwSize = sizeof( PROCESSENTRY32 );
    if( Process32First( hProcess, &pe32 ) )
    {
        do
        {

            printf("%20s", pe32.szExeFile);
            count++;
            if(count == 3)
            {
                printf("\n");
                count = 0;
            }
            else
                printf("\t");

        } while ( Process32Next( hProcess, &pe32 ) );
    }
    else
    {
        cout << "???" << endl;
    }

    CloseHandle (hProcess);

 return 0;

}

 

 

- 결과 -

 

 

 

 

 

 

pe32.szExeFile 의 값을 이용하면 특정 프로세서가 실행 중인지 찾을수 있다

만약 특정 프로세서를 찾아 종료하고 싶다면..

 

if ( stricmp ( pe32.szExeFile, szPath ) == 0 )

{

    HANDLE hProcess = NULL;

    if ( hProcess = OpenProcess ( PROCESS_TERMINATE, FALSE, pe32.th32ProcessID ) )
    {
         TerminateProcess ( hProcess, 0 );
         CloseHandle ( hProcess );
    }

}

요렇게 하면 될듣??


: