#include <tlhelp32.h>
bool CH7TrayDlg::KillProcess( CString sExeName )
{
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("H7.EXE",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;
}
'C & C++ > C & C++' 카테고리의 다른 글
파일 찾기 (0) | 2011.10.26 |
---|---|
하위 경로까지의 모든 파일 목록 얻기 (0) | 2011.10.26 |
Windows Object와 Handle이란? (0) | 2011.10.25 |
CFileFind 를 이용하여 디렉토리 안의 파일 찾기 (0) | 2011.10.25 |
파일에서 버전 정보 얻어오기 (0) | 2011.10.25 |
댓글