tempad
Readygo技术搜索引擎 >>软件测试 >> 请教怎么实现显示桌面功能?

请教怎么实现显示桌面功能?

Readygo技术搜索引擎 网络搜索 efish 2008-1-17 9:39:40

请教怎么实现显示桌面功能?

楼主fengzi_zhu(吃白菜补VC)2002-10-08 17:21:10 在 VC/MFC / 基础类 提问

一次意外的失误我把显示桌面给叉掉了,   没想到这么的不方便(想从桌面上打开一个东西,要把所有的  
  程序都最小化,痛~),   于是一怒之下,便想自己编一个,开始想来是很简单的.  
  方法有三:  
  其一:将桌面窗口提到最前面.用SetForegroundWindow()和ShowWindow()  
            问题是:不知道哪个是桌面窗口,#37968,   progman,   还是SHELLDLL_DefView?  
            我试过将一个写字本(Notepad)提到最前面.可以.  
  其二:将所有的用户窗口最小化之后,就显示桌面了.  
            得到所有的窗口进行过滤,我用WS_MINIMIZEBOX窗口属性进行过虑,   但是还有  
            一些不想要的(一些隐藏的)窗口被最小化,   如MS_WebcheckMonitor,还有OICQ  
            的历史档案管理器.   我还试过用WS_EX_APPWINDOW(MSDN上说能停留在任务栏  
            的窗口都有这个属性.   我用了之后只有OICQ被最小化.)    
  其三:取得用户进程的所有线程的主窗口.这部分我还没有结果,请大家给点意见?  
   
  没想到小小的一个东西竟然会这么麻烦...唉~   只怪自己学艺不精啊! 问题点数:100、回复次数:12Top

1 楼masterz(www.fruitfruit.com)回复于 2002-10-08 17:31:34 得分 10

EnumWindows,   for   each   window,   post   WM_SYSCOMMAND   message   with   SC_MINIMIZE   .Top

2 楼masterz(www.fruitfruit.com)回复于 2002-10-08 17:37:57 得分 30

http://www.members.olmworld.net/vcguru/article/2_105.htm  
  给Win95工具条增加显示桌面功能Top

3 楼slyse(slyse)回复于 2002-10-08 17:38:47 得分 5

1   可以用GetDesktopWindow   获得桌面窗口句柄    
  Top

4 楼slyse(slyse)回复于 2002-10-08 17:56:52 得分 5

GetDesktopWindow   可以获得代表整个屏幕的一个窗口(桌面窗口)句柄Top

5 楼gujoy(红色代码)回复于 2002-10-08 17:59:29 得分 0

哈哈,用win+d看看还行不行,不行,自己找办法看能否恢复,我记不清是哪个程序了,到MS网站上去看看就是了!Top

6 楼fengzi_zhu(吃白菜补VC)回复于 2002-10-09 10:06:02 得分 0

TO   masterz():  
   
        我已经取得了所有的窗口,我觉得不同进程间的通讯是不能直接用PostMessage  
  的,不是吗?好像要用WM_COPYDATA,或共享内存,什么的。Top

7 楼fengzi_zhu(吃白菜补VC)回复于 2002-10-12 22:12:55 得分 0

upTop

8 楼sjsj(虚怀若谷)回复于 2002-10-13 12:33:09 得分 0

开始菜单,查找“显示桌面”,将它复制  
  开始菜单,查找“Quick   Launch”,进入该文件夹,粘贴刚才复制的文件  
   
  Good   Luky   ,GuyTop

9 楼wx_xuan(春晖)回复于 2002-10-13 12:36:07 得分 0

gzTop

10 楼kwiner(ak.net)回复于 2002-10-13 12:44:42 得分 0

哦,在c:\windows\system目录下有一个显示桌面的  
   
  文件,把它创建快捷方式到快速启动栏不就可以啦Top

11 楼rivershan(过分的比较讨论某种语言,就像站在两个槽子中间不知哪个槽子的草更好的蠢驴。)回复于 2002-10-13 12:47:32 得分 40

1、98/me下:  
  在Windows操作系统中,任务栏的显示桌面图标目标文件是“C:\Windows\Application   Data\Microsoft\Internet   Explorer\Quick   Launch\显示桌面.scf”,所以如果需要恢复该图标,只需要在原处重新建立一个“显示桌面.scf”文件即可。  
    可以使用记事本等文本编辑器,重新用以下内容建立一个显示桌面.scf文件。  
   
   
  Command=2  
  IconFile=explorer.exe,3  
   
   
  Command=ToggleDesktop  
   
  工具栏中“显示桌面”图标的实际位置是:“C:\Windows\System\显示桌面.scf”,只需要按此路径找到它,复制到文件夹“C:\Windows\Application   Data\Microsoft\Internet   Explorer\Quick   Launch”中或创建快捷方式直接拖拽至任务栏中即可。  
   
  2、2000/XP:  
  在控制面板下的用户管理中启用GUEST账户,然后在系统盘下Documents   and   Settings\Guest\Application   Data\Microsoft\Internet   Explorer\Quick   Launch下找到“显示桌面“这个文件,考到你的用户名文件夹的相应路径下,然后在工具栏上右键,   工具栏-〉快速启动,勾掉再钩上。Top

12 楼rivershan(过分的比较讨论某种语言,就像站在两个槽子中间不知哪个槽子的草更好的蠢驴。)回复于 2002-10-13 12:48:28 得分 10

hoho~  
  有这样一个东西~  
  可以全部最小化~  
  VCKBASE好像有~Top

13 楼fengzi_zhu(吃白菜补VC)回复于 2002-10-13 16:11:25 得分 0

upTop

责任编辑: efish 参与评论 查找更多:
相关文章
怎么有时间取的日期是1900-01-01 怎么有时间取的日期是1900-01-01
菜鸟勿入!! 菜鸟勿入!!
■▲IIS中SESSION求救!!!!▲■ ■▲IIS中SESSION求救!!!!▲■
调用ldap后要做些什么释放?为什么老有遗留的进程? 调用ldap后要做些什么释放?为什么老有遗留的进程?
如何去除对话框的系统菜单? 如何去除对话框的系统菜单?
各位高手,请问怎样通过局域网连接Windows和Linux啊? 各位高手,请问怎样通过局域网连接Windows和Linux啊?
FSO的权限问题,如何控制? FSO的权限问题,如何控制?
急急急!请各位仁兄提供给小弟一个能下载办公自动化… 急急急!请各位仁兄提供给小弟一个能下载办公自动化软件VB源代码的网址!
同时登陆的问题。就如网易通行证 同时登陆的问题。就如网易通行证
紧急抢救!!!!unix安装问题,给出具体解决界法! 紧急抢救!!!!unix安装问题,给出具体解决界法!
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn

分类导航
Readygo技术搜索引擎