我现在能截桌面上热和区域的图,再保存成*.bmp,但是这样的截图有两种:
1,桌面上只有系统的桌面(包括有墙纸),没有任何其他程序的窗口以及网页。这样这样子截的图是纯系统桌面的图,是我要的。
2,桌面上有别的程序的窗体以及网页,这样截取的图片就是当前使用电脑者看到的显示器上的界面,这样的图是我不要的。
所以通过以上两种情况,我的目的是只要第1种截图。当显示器上有别的窗口或者页面时,我仍然希望截取的是第1种图。
请问哪位高手能帮忙?谢谢!

解决方案 »

  1.   

    建议用如下方法:
    1.切换到桌面,就是模拟win键,或者运行显示桌面的那个文件(纯文本文件,内容如下)
    [Shell]
    Command=2
    IconFile=explorer.exe,3
    [Taskbar]
    Command=ToggleDesktop
    2.抓图,可以用DC,也可以模拟键盘PrintScreen
    3.回复,重新模拟win键,或者运行‘显示桌面’
      

  2.   

    TO: lw549(左看右看上看下看,原来每个帖子都不简单)
    你这个方法我想过,如果是你设计这个程序,别人在使用时,他也开了很多的窗口及程序时,你如果用运行‘显示桌面’,别人的窗口全部就最小化了,自己的程序肯定截取的就是桌面的图,但是凭什么把别人其他的窗口最小化掉?这个给用户使用时带来一点点不方便。
    望指点更高明的解决方案!谢谢!
      

  3.   

    从注册表中得到壁纸然后LOAD进去……然后自己画个任务栏……不过桌面图标就不清楚要怎么办了……-v-
      

  4.   

    CreateDC('DISPLAY',....)具体忘记了。函数名也可能是GetDC