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

解决方案 »

  1.   


    ShowWindow(SW_HIDE);
    截图;
    ShowWindow(SW_NORMAL);
      

  2.   

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

  3.   

    如果没开桌面组合,则被遮挡的部分需要相关的程序重绘,但你是没法知道何时重绘完毕
    因此要等一段时间,如果对速度没什么要求,使用PrintWindow打印所有顶层窗口的内容,然后按z-order组合
      

  4.   

    你怎么截得图
    要不就ShowWindow(SW_MINIMIZE );