怎样隐藏并恢复所有桌面窗口(100分)

  • 主题发起人 主题发起人 zleo
  • 开始时间 开始时间
Z

zleo

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在我的程序启动时隐藏所有显示的其他窗口,在退出时恢复到原来的状态<br>有点像w2000下按ctrl+alt+delete的效果,想了一些方法都不满意,望大侠指点
 
隐藏桌面。
 
var WndHandle,hDesktop:THandle; &nbsp; &nbsp;<br>&nbsp; hDesktop := FindWindow('ProgMan',nil);<br>&nbsp; &nbsp; &nbsp;// 隐藏桌面上的图标<br>&nbsp; &nbsp; &nbsp;ShowWindow(hDesktop,SW_HIDE);<br>&nbsp; &nbsp; &nbsp;hDesktop := FindWindow('ProgMan',nil);<br>&nbsp; &nbsp; &nbsp;// 显示桌面上的图标<br>&nbsp; &nbsp; &nbsp;ShowWindow(hDesktop,SW_SHOW);<br>// 获取任务栏的窗口句柄<br>&nbsp; &nbsp; &nbsp;WndHandle := FindWindow('Shell_TrayWnd', nil);<br>&nbsp; &nbsp; &nbsp;ShowWindow(WndHandle, SW_SHOW); &nbsp; // 显示任务栏<br>&nbsp; &nbsp; &nbsp; &nbsp;WndHandle := FindWindow('Shell_TrayWnd', nil);<br>&nbsp; &nbsp; &nbsp;ShowWindow(WndHandle, SW_HIDE); &nbsp; //
 
ShowWindow(FindWindow('Program', nil), SW_HIDE); //隐<br>ShowWindow(FindWindow('Program', nil), SW_SHOW); //显<br>
 
先没说清:)<br>隐藏桌面不能隐藏掉已打开的窗口<br>没办法,先隐藏桌面,然后枚举所有窗体把可见的全部隐藏掉同时<br>把这些窗口的句柄存在strings里,退出时一个一个显示......<br>这是我现在用的方法,但太麻烦,不知有没其他方法<br><br>
 
建一个与桌面同样色的窗体,显示全屏就可以搞定啊。
 
最下面的任务栏也有办法隐藏的。
 
发送 Win + D 键
 
分了~~我还是用的老办法
 
多人接受答案了。
 
后退
顶部