string exe_name = "notepad.exe";
HANDLE snapshot_handle = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
ASSERT_NE(snapshot_handle, INVALID_HANDLE_VALUE);
PROCESSENTRY32 pe;
if (Process32First(snapshot_handle, &pe))
{
do
{
//TRACE("KillProcess() PID = %04u, FileName = %s\n", pe.th32ProcessID, pe.szExeFile);
if (!_tcscmp(pe.szExeFile, exe_name.c_str()))
{
HANDLE process_handle = OpenProcess(PROCESS_TERMINATE, FALSE, pe.th32ProcessID);
if (INVALID_HANDLE_VALUE != process_handle)
{
cout << "kill process" << endl;
//TerminateProcess(process_handle, 0);
//CloseHandle(process_handle);
}
} else {
//TRACE("KillProcess() PID = %04u, FileName = %s\n", pe.th32ProcessID, pe.szExeFile);
cout << "process. pid : " << pe.th32ProcessID << ", file name : " << pe.szExeFile << endl;
}
} while (Process32Next(snapshot_handle, &pe));
}
CloseHandle(snapshot_handle);
snapshot_handle = INVALID_HANDLE_VALUE;
'C++' 카테고리의 다른 글
boost uuid로 sha1 구하기? 샘플 (0) | 2012.11.20 |
---|---|
_time64로 초단위 로컬 현재 시간 (0) | 2012.11.09 |
ip 목록 출력 (0) | 2012.11.09 |
윈도우 서비스 (0) | 2012.10.11 |
pid 구하기 (0) | 2012.10.10 |
현재 프로그램 경로 (0) | 2012.10.05 |
for_each 와 boost bind (0) | 2012.09.07 |
FireBreath (0) | 2012.08.10 |