내가 특정 프로그램명을 알고 있을 때
그 특정 프로그램의 윈도우 핸들을 구할 수 있다.
그러면, 핸들에서 프로세스 ID를 구할 수 있게 된다.
그 다음 순서는 분명하다.
프로세스를 강제로 종료시키는 것이다.
그럼 아래 소스를 살펴보자.
HWND hOsk=::FindWindow(NULL, "SBRICH");
if(hOsk)
{
CWnd* p = CWnd::FromHandle(hOsk);
CString sT;
p->GetWindowTextA(sT);
DWORD pid2;
DWORD pid = GetWindowThreadProcessId(hOsk, &pid2); // 바로서치 핸들로 프로세스 id를 구한다.
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid2);
if(hProcess)
{
if(TerminateProcess(hProcess, 0))
{
unsigned long nCode; //프로세스 종료 상태
GetExitCodeProcess(hProcess, &nCode);
}
CloseHandle(hProcess);
}
AfxMessageBox(sT);
}
반응형
'IT-개발,DB' 카테고리의 다른 글
[개발/MFC] 날짜계산, 시간계산 해보자 (0) | 2011.04.29 |
---|---|
[개발/MFC] Thread, Process ID & Handle (0) | 2011.04.19 |
[개발/MFC] 유휴 루프 처리 (0) | 2011.04.15 |
[개발/VC] Windows에서 프로그램을 실행할 때 "다음 계정으로 실행" 해결 방법 (0) | 2011.04.15 |
[개발/MFC] 실행중인 프로세스 강제 종료시키기 (0) | 2011.04.15 |
댓글