728x90

CreateToolhelp32Snapshot 2

작업관리자에서 해당 프로세스가 실행중인지..

오늘은 해당 프로그램이 실행중인지 확인하는 함수를 소개하고자 합니다. 보통 FindWindow 을 사용하면 되지만.. 부팅 시 자동실행이나 PC의 부하가 많은 상태에서는 FindWindow 로는 해당 window을 찾지 못하는 경우가 있습니다. 그래서 직접 작업관리자에서 해당 파일이 실행중인지 확인해서 해당 핸들을 얻는 방법이 가장 정확한 방법이기에 소개합니다. 보통 FindWindow 로 먼저 처리하고, 프로그램을 운영을 하면서 FindWindow 가 통과하는 경우가 발생하면 CreateToolhelp32Snapshot 울 이용을 하개 됩니다.. * 소스코드 // CString parm_exe : exe 파일명 // DWORD parm_id : 프로세스 아이디 (모르는 경우 -1 사용) int Util..

프로그램/C++ 2021.01.15

강제로 프로세스 종료하기

오늘은 작업관리자에서 강제로 프로세스를 종료하는 방법이 있는데 이런 방법을 프로그램을 하는 것에 대해 설명하고자 합니다. 보통 메인 프로그램이 서브프로그램을 강제로 종료시킬 때 sendmessage 을 통해서 종료를 시키게 되는데 해당 프로그램이 lock이 걸렸거나 이벤트를 받지를 못하는 상황이 생겼을 때 위 메세지는 의미가 없게 된다. 그렇기에 강제로 프로세스를 종료를 시켜야 하는데 이에 사용한 함수를 소개 하고자 합니다. ** 소스코드 // CString strProcessName : 프로세스 파일명.확장자 BOOL Util::ProcessKill(CString strProcessName) { HANDLE hProcessSnap = NULL; BOOL bRet = FALSE; PROCESSENTRY3..

프로그램/C++ 2021.01.15
728x90
반응형