공부/API
하나의 Process에서 새로운 Process를 실행시키는 경우
잠수함토끼
2008. 8. 20. 19:00
코드 입니다.
LRESULT FAR WINAPI WndProc(HWND hwnd, UINT message, UINT wParam, LONG lParam) { HDC hdc; PAINTSTRUCT ps; RECT rect; HWND hiwnd; //실행시키고자하는 program의 이름이다. 절대경로 상대경로 모두 사용가능 TCHAR *command= TEXT("c:\\ForMobileToKimGM"); HWND child; switch (message) { case WM_PAINT: hdc=BeginPaint(hwnd, &ps); GetClientRect(hwnd,&rect); DrawText(hdc,TEXT("hello, windows!"), -1, &rect, DT_SINGLELINE|DT_CENTER|DT_VCENTER); EndPaint(hwnd, &ps); return 0; case WM_LBUTTONDOWN: //Program을 실행시키기는 API이다. ShellExecute(NULL,TEXT("open"), command,NULL, NULL, SW_HIDE); return 0; case WM_RBUTTONDOWN: // 클래스 이름을 통해서 Handle을 얻어오고 있다. child=FindWindow(TEXT("WonJaeClass"),NULL); // 실행시킨 나의 Process를 정지시키는 API이다. 인자값으로는 handle 값을 주었다. TerminateProcess(child,0); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; } return DefWindowProc(hwnd,message,wParam,lParam); }