본문 바로가기
반응형

프로세스 강제 종료5

[개발/MFC] 프로세스 강제 종료 두번째 내가 특정 프로그램명을 알고 있을 때 그 특정 프로그램의 윈도우 핸들을 구할 수 있다. 그러면, 핸들에서 프로세스 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, .. 2012. 9. 20.
[개발/MFC] 실행중인 프로세스 강제 종료시키기 윈도우즈에서 실행중인 프로세스를 강제 종료시키자. 내가 사용하는 방법도 있지만 아래 소스가 잘 정리되어 있어서 그대로 스크랩했다. 출처 : http://koronaii.tistory.com/241 BOOL CGomControl::ProcessKill(CString strProcessName) { HANDLE hProcessSnap = NULL; BOOL bRet = FALSE; PROCESSENTRY32 pe32 = {0}; hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hProcessSnap == (HANDLE)-1) return false; pe32.dwSize = sizeof(PROCESSENTRY32); //프로세스가 메모.. 2012. 7. 16.
[개발/MFC] 프로세스 죽이기 프로세스 죽이기 Kernel32.dll 에 있는 ExitProcess()라는 함수에 대한 포인터를 얻고 이를 CreateRemoteThread()를 이용하여 프로세스를 호출하고 스스로 종료되게 하는 기능입니다. BOOL SafeTerminateProcess(HANDLE hProcess, UNIT uExitCode) { DWORD dwTID, dwCode, dwErr = 0; HANDLE hProcessDup = INVALID_HANDLE_VALUE; HANDLE hRT = NULL; HINSTANCE hKernel = GetModule Handle("Kernel32"); BOOL bSuccess = FALSE; BOOL bDup = DuplicateHandle(GetCurrentProcess(), hPr.. 2012. 4. 3.
[개발/MFC] 프로세스 강제 종료 두번째 내가 특정 프로그램명을 알고 있을 때 그 특정 프로그램의 윈도우 핸들을 구할 수 있다. 그러면, 핸들에서 프로세스 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, .. 2011. 4. 15.
[개발/MFC] 실행중인 프로세스 강제 종료시키기 윈도우즈에서 실행중인 프로세스를 강제 종료시키자. 내가 사용하는 방법도 있지만 아래 소스가 잘 정리되어 있어서 그대로 스크랩했다. 출처 : http://koronaii.tistory.com/241 BOOL CGomControl::ProcessKill(CString strProcessName) { HANDLE hProcessSnap = NULL; BOOL bRet = FALSE; PROCESSENTRY32 pe32 = {0}; hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hProcessSnap == (HANDLE)-1) return false; pe32.dwSize = sizeof(PROCESSENTRY32); //프로세스가 메모.. 2011. 4. 15.
반응형