该发一个怎样的消息让另一个窗口或应用程序最大化呢?(100分)

  • 主题发起人 主题发起人 Sabre
  • 开始时间 开始时间
S

Sabre

Unregistered / Unconfirmed
GUEST, unregistred user!
注意,是另一个应用程序,不是本程序。
 
第一步:取得另一窗口的句柄hnd<br>第二步:使用API函数ShowWindow(hnd,SW_MINIMIZE);
 
怎样取得句柄呢?FindWindow吗?那么FindWindow的第一个参数是什么意思?
 
第一个参数是向操作系统注册的类名,你不用管它,<br>第二个参数是标题名,相当于delphi里的Form.caption,<br>例如查找“画图”,你可以hnd := FindWindow('','画图');
 
OK,<br>if (i get it then<br>&nbsp; &nbsp;begin<br>&nbsp; &nbsp; &nbsp;i must pay you;<br>&nbsp; end;
 
这样便行,以最大化IE浏览器为例说明:<br>HWND handle = FindWindow("IEFrame",NULL);<br>SendMessage(handle,WM_SYSCOMMAND,SC_MAXIMIZE,0);<br><br>
 
建议楼上把<br>SendMessage改成postMessage<br>呵呵
 
谢谢各位,如何最大化我了解了,可是如何使那个窗体成为当前窗口呢?也就是说激活它。<br>当我执行上面的命令时,只是把那个窗口最大化,并不激活。
 
&nbsp; &nbsp;SetForegroundWindow(handle);<br>
 
最大化并激活:<br>第一步:取得另一窗口的句柄hnd<br>第二步:使用API函数ShowWindow(hnd,SW_SHOWMAXIMIZED);
 
多人接受答案了。
 
后退
顶部