|
안녕하세요.
답변이 늦었지만, 차후 참고하시는 분이 계실까봐 리플을 답니다. --;
98에서는 간단히 죽이면 되지만, 2000에서는 프로세스를 얻은 다음 처리를 해야 하기 때문에 조금 복잡합니다. 아래 소스로 98, 2000에서 모두 사용하실 수 있으실 것 같습니다.
아래 소스는 "프로그램 1", "프로그램 2" 를 모두 죽이는 소스입니다.
void __fastcall TMain::KillHandle(bool blRoot)
{
HWND hdHandle;
HANDLE hdProcess;
DWORD dwPID;
SpeedKeyOff();
hdHandle = FindWindow(NULL, "프로그램 1");
if(!hdHandle) hdHandle = FindWindow(NULL, "프로그램 2");
if(hdHandle) {
GetWindowThreadProcessId(hdHandle, &dwPID);
if(dwPID) {
hdProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwPID);
TerminateProcess(hdProcess, -1);
}
KillHandle(false);
}
return;
}
//---------------------------------------------------------------------------
alberddo 님이 쓰신 글 :
: 작업관리자에서 Process를 강제로 죽이는 것과 같이 실행파일을 삭제하는 방법이 있는 지 알고 싶습니다.
: snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
: 위의 방식으로 파일을 찾기는 찾았는 데 죽일수가 없네요
:
|