반응형
#include #pragma comment(lib, "PSAPI.LIB")
void CtestFindWindowTDoc::FindRunningPgmNameAndPath() { //현재 실행되고 있는 프로그램들의 경로를 구한다. HWND h_wnd = FindWindowEx(NULL,NULL, NULL, NULL); CString strTitle; CString strAppPath; //CFileStatus status; char szTitle[MAX_PATH]; char szPath[MAX_PATH]; while(h_wnd != NULL) { if(IsWindow(h_wnd) && IsWindowVisible((h_wnd))) { GetWindowText(h_wnd, szTitle, MAX_PATH); DWORD dwProcessId; GetWindowThreadProcessId(h_wnd, &dwProcessId); HANDLE hHandle = OpenProcess(MAXIMUM_ALLOWED, FALSE, dwProcessId); //GetProcessImageFileName(hHandle, szPath, MAX_PATH); GetModuleFileNameEx(hHandle, NULL, szPath, MAX_PATH); TRACE("[이름] %s\n", szTitle ); TRACE("[경로] %s\n\n", szPath ); //HINSTANCE hInstance = (HINSTANCE)GetWindowLong(h_wnd, 0); strTitle = szTitle; if( 0 < strTitle.Find("Site") ) //실행중인 Window의 캡션에 Site가 있으면 파일정보를 읽고 종료 { DWORD dwProcessId; GetWindowThreadProcessId(h_wnd, &dwProcessId); HANDLE hHandle = OpenProcess(MAXIMUM_ALLOWED, FALSE, dwProcessId); //GetProcessImageFileName(hHandle, szPath, MAX_PATH); GetModuleFileNameEx(hHandle, NULL, szPath, MAX_PATH); } } h_wnd = FindWindowEx(NULL, h_wnd, NULL, NULL); } }
반응형
'프로그래밍 > C++' 카테고리의 다른 글
[C++] VS2010/Windows7에서 ActiveX 개발시 어쩌다 만나게 되는 오류 해결방법 (0) | 2011.07.27 |
---|---|
VS2010에서 웹서비스 참조 방법 설명 (0) | 2011.07.26 |
[C++] 하위 폴더 자동 생성 (2) | 2011.06.30 |
연산자 중복정의(오버로딩)의 바른예 (1) | 2011.06.26 |
현재 실행중인 모든 윈도우 나열하기^^ (0) | 2011.06.20 |
댓글