首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

小弟想写个截图程序,截图之前最小化,截图之后总在最前,该如何处理

2012-04-14 
小弟想写个截图程序,截图之前最小化,截图之后总在最前小弟纯新人,很业余,想截取屏幕上的图片,然后显示在CV

小弟想写个截图程序,截图之前最小化,截图之后总在最前
小弟纯新人,很业余,想截取屏幕上的图片,然后显示在CView的派生类里面,现在截图已经成功了,而且已经能正确显示出来了,可是程序本身总会挡到截图的位置,所以我想截图的时候能不能先让程序最小化,截图后图片显示在程序里之时,再让程序总在最前,请问大家有没有办法实现呢?我使用了SetWindowPos等等一系列函数都没有任何效果啊,很苦恼,求救了~!

[解决办法]
程序最小化托盘

[解决办法]
先向自己发送一个最小化消息,在截图
[解决办法]
调用了相关api后等一下再截
[解决办法]
ShowWindow
[解决办法]

C/C++ code
    ShowWindow(SW_HIDE);    截图;    ShowWindow(SW_NORMAL);
[解决办法]
如果没开桌面组合,则被遮挡的部分需要相关的程序重绘,但你是没法知道何时重绘完毕
因此要等一段时间,如果对速度没什么要求,使用PrintWindow打印所有顶层窗口的内容,然后按z-order组合
[解决办法]
探讨

引用:

ShowWindow

这个我试过ShowWindow(SW_HIDE),结果截图就完全显示不出来了,一片空白啊。。。。然后把这个注释掉之后,截图就正常了,请问是为什么呢?是不是像3楼大神说的那样需要等待(Sleep)一会?

热点排行