Kill Process

=================
CTRL+C, CTRL+V
=================
- 자신이 고민하여 만들어보았거나, 내용을 충분히 이해하고 사용해야겠습니다. ^^;
   . 내공부족, 절대허덕, 복사지존

아래 함수 원형은 어딘가에서 보고 드르륵 긁었던거 같네요 ^^;

BOOL CMainFrame::KillProcess(CString sExeName)
{
 /************************************************************************/
 /* Eocs_2007_0823 : Kill Process by Exe Name
 /************************************************************************/
    sExeName.MakeUpper();

    HANDLE hSnapshot = CreateToolhelp32Snapshot ( TH32CS_SNAPPROCESS, 0 );

    if ( (int)hSnapshot != -1 )
    {
        PROCESSENTRY32 pe32 ;
        pe32.dwSize=sizeof(PROCESSENTRY32);
        BOOL bContinue ;
        CString strProcessName;

        if ( Process32First ( hSnapshot, &pe32 ) )
        {
            do
            {
                strProcessName = pe32.szExeFile; //strProcessName이 프로세스 이름;
                strProcessName.MakeUpper();
                if( ( strProcessName.Find(sExeName,0) != -1 ) )
                {
                    HANDLE hProcess = OpenProcess( PROCESS_ALL_ACCESS, 0, pe32.th32ProcessID );
                    if( hProcess )
                    {
                        DWORD       dwExitCode;
                        GetExitCodeProcess( hProcess, &dwExitCode);
                        TerminateProcess( hProcess, dwExitCode);
                        CloseHandle(hProcess);
                        CloseHandle( hSnapshot );

                        return TRUE;
                    }
                    return FALSE;
                }
                bContinue = Process32Next ( hSnapshot, &pe32 );
            } while ( bContinue );

        }
        CloseHandle( hSnapshot );

    }
    return FALSE;
}

by 데들리엔젤 | 2008/11/04 15:08 | VC++ | 트랙백 | 덧글(0)

트랙백 주소 : http://eocs.egloos.com/tb/1052105
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

◀ 이전 페이지다음 페이지 ▶