내가 특정 프로그램명을 알고 있을 때
그 특정 프로그램의 윈도우 핸들을 구할 수 있다.
그러면, 핸들에서 프로세스 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] Thread, Process ID & Handle (0) | 2012.09.25 |
---|---|
[개발/VC] 레지스트리 키 열기, 닫기, 목록 가져오기, 키 값 가져오기 (0) | 2012.09.20 |
[IT/가상] 버추얼박스 디스크 용량 줄이기 (0) | 2012.09.17 |
[개발/MFC] 날짜계산, 시간계산 해보자 (0) | 2012.09.11 |
[개발/리눅스] tar로 용량을 지정하여 파일을 분할 압축 및 풀기 (0) | 2012.09.04 |
댓글