|
제 경우를 설명해 드리겠습니다.
FindWindow로 핸들을 얻어서 SendMessage로 실행된 프로그램을 조작하려합니다.
문제는 조작이 안되더라도 그냥 미니마이즈 리스토어 맥시마이즈라도 하고싶은데...
문제가...
실행시킨 프로그램을 우측상단의 미니마이즈 버튼으로 작업표시줄에 넣은다음
프로그램 상에서 FindWindow 와 SendMessage를 사용하여 다시 화면으로 복귀시키는
것입니다.
복귀까지는 잘되었습니다.
문제는 복귀후에 다시 복귀된 프로그램의 우측상단의 미니마이즈 버튼이 작동하지
않는것이 문제입니다.
그래서 핸들을 구했을때 어떻게 이용하면 그폼의 조종을 마치 그냥 폼을 조종하듯이
할 수 있을까요?
예를 들면 그냥 폼에서는 Form1->Close(); 뭐 이런식으로 조작이 가능하지만 핸들을
구한 폼은 어떻게 해야 이런효과를 얻을 수 있을지 궁금합니다.
조금이라도 좋으니 한마디 부탁합니다.
이렇게해서 MyProgram이란 작업표시줄로 미니마이즈된 프로그램을 불러냈는데..
그이후에 다시 작업표시줄로 미니마이즈가 안되었습니다.
(버튼이 있는 프로그램, MyProgram이란 테스트 폼)
void __fastcall TForm1::Button1Click(TObject *Sender)
{
SetForegroundWindow(FindWindow(NULL, "MyProgram"));
SendMessage(FindWindow(NULL, "MyProgram") ,WM_SYSCOMMAND,SC_RESTORE,0);
}
|