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