#include <TlHelp32.h>

 

BOOL Cex_ProcessKDlg::KillProcess(CString strName)

{

strName.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 = strProcessName.MakeUpper();

if( ( strProcessName.Find(strName,0) != -1 ) )

{                                        

HANDLE hProcess = OpenProcess( PROCESS_TERMINATE , FALSE, 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;

}


[스크랩]

저작자 표시 비영리 동일 조건 변경 허락
신고

'Computer Science > C/C++, C#' 카테고리의 다른 글

[MFC] BMP 비트맵 투명 그리기  (0) 2015.02.23
[MFC] 부모 다이얼로그 함수 변수 호출  (0) 2014.11.18
[MFC] force shutdown process  (0) 2014.04.06
[C/C++] 주민등록번호 규칙  (0) 2010.12.31
Dev-C++ 4.9.9.2 , C/C++ Compiler  (0) 2010.12.01
요일구하는 공식  (0) 2010.11.28

+ Recent posts

티스토리 툴바