윈도우 핸들을 가지고 윈도우가 최소화되어 있는지 알아보려면 API 함수 GetWindowPlacement()를 이용하면 됩니다. 두번째 인자로 API에서 정의된 WINDOWPLACEMENT 레코드의 포인터를 넘기고 다시 받으면 레코드의 showCmd 멤버에 현재 윈도우의 상태가 돌아오는데, SW_SHOWMINIMIZED인지를 검사하면 되지요.
윈도우 핸들로 프로그램을 종료시키려면, 그 프로그램이 반항(?)을 하지 않는다는 전제 하에 WM_CLOSE를 날리면 됩니다. 그런데 닫으려고 하면 "정말 닫고 싶냐 나쁜넘아" 라고 친절하게 물어보는 프로그램이 많으므로, 그런 경우에도 강제로 종료시키려면 프로세스 관련 API를 써야 하겠습니다.
코드는 C++ 코드이고 질문은 델파이 게시판에 해주셨는데...
원하시는 게 뭔지 몰라서 만들어봤던 코드는 첨부하지 않습니다.
구윤태 님이 쓰신 글 :
: ----------------------------------------------------------------------
: HWND pHwnd = FindWindow(NULL, "클리키 1.5");
:
: if(pHwnd == NULL)
: {
: ShellExecute(NULL,"open",
: "C:\\Program Files\\BMTECH\\VirtualKeyboard\\clickey.exe",
: NULL,
: NULL,
: SW_NORMAL);
: }
: -----------------------------------------------------------------------
:
: 가상키보드 [-] 최소아 아이콘이 눌러져 보이지 않을 경우
: 폼을 클릭하여 닫고 , 다시 폼에 로드 하고 싶습니다.
:
:
: 실행된 프로그램을 닫고 다시 실행 시키려면 어떻게 하나요
|