프로세스 구하기
[code]
CString tmp;
HANDLE hProcessSnap;
PROCESSENTRY32 pe32;
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if(hProcessSnap == INVALID_HANDLE_VALUE)
{
MessageBox("CreateToolhelp32Snapshot (of processes) ");
return false;
}
pe32.dwSize = sizeof(PROCESSENTRY32);
if(!Process32First(hProcessSnap, &pe32))
{
MessageBox("Error:Process32First");
CloseHandle(hProcessSnap);
return false;
}
do
{
tmp.Format("%s : 0x%08X",pe32.szExeFile,pe32.th32ProcessID);
//CString tmp에 파일명 : PID형식으로 저장됨.
}while(Process32Next(hProcessSnap,&pe32));
CloseHandle(hProcessSnap);
[/code]
프로세스 죽이기
[code]
HANDLE process;
DWORD PID;
CString tmp;
PID = //PID. Unsigned long
process = OpenProcess(PROCESS_TERMINATE,0,PID);
if(TerminateProcess(process,(unsigned)-1))
MessageBox("Killed PID : "+tmp);
else
MessageBox("Failed.");
[/code]
[code]
CString tmp;
HANDLE hProcessSnap;
PROCESSENTRY32 pe32;
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if(hProcessSnap == INVALID_HANDLE_VALUE)
{
MessageBox("CreateToolhelp32Snapshot (of processes) ");
return false;
}
pe32.dwSize = sizeof(PROCESSENTRY32);
if(!Process32First(hProcessSnap, &pe32))
{
MessageBox("Error:Process32First");
CloseHandle(hProcessSnap);
return false;
}
do
{
tmp.Format("%s : 0x%08X",pe32.szExeFile,pe32.th32ProcessID);
//CString tmp에 파일명 : PID형식으로 저장됨.
}while(Process32Next(hProcessSnap,&pe32));
CloseHandle(hProcessSnap);
[/code]
프로세스 죽이기
[code]
HANDLE process;
DWORD PID;
CString tmp;
PID = //PID. Unsigned long
process = OpenProcess(PROCESS_TERMINATE,0,PID);
if(TerminateProcess(process,(unsigned)-1))
MessageBox("Killed PID : "+tmp);
else
MessageBox("Failed.");
[/code]
'Knowledge > C/C++/VC++' 카테고리의 다른 글
레지스트리 접근 (0) | 2007.05.04 |
---|---|
파일 열기/저장 공용 다이얼로그 (0) | 2007.05.04 |
Win32 플랫폼 버전 확인 (0) | 2007.05.04 |
MFC ListView_GetCheckState(SetCheckState)버그 (0) | 2007.05.04 |
URL(File) Drag&Drop (0) | 2007.05.04 |