现有 A程序与B程序,B程序被激活置于前台,A程序最小化,且被B程序完全覆盖现在求完整VB代码,获取A程序的屏幕截图。分不够可以再加。

解决方案 »

  1.   

    谁解决我还可以送RMB,有能力的人QQ和我联系,要来快
      

  2.   

    只要不让他占用硬件加速,你就可以捉了,用BitBlt()就可以捉到.你可以把硬加速关闭.在显示属性那里.
    或者,在被捉程序启动前,自己先来一段用到硬件加速代码.(因为一个显示卡只有一个硬件加速),然后再用BitBlt()去捉屏.
    最小化之后可能不行.前几天就想告诉你了,那时,打了一段很长的文字,结果,CSDN来个500错误....
      

  3.   

    可以的,给个网址你去下载,虽然不是我写的,你给一半分也没事~~~~~~~~
    http://www.play78.com/blog/blogview.asp?logID=209
      

  4.   

    DX窗体不属于GDI范畴,那要开个专题去研究,普通窗体除了具有OwerDC样式的之外,都是共享屏幕DC,也就是说它只有在显示时才会绘制窗体内容,且只绘制可视部分的内容。只有少部分,如VB的AutoRedrw=True窗体,在隐藏时会保存窗体内容,而且也只是客户区内容。更不幸的是,它们是VB或程序自己控制的内容,它不告诉你,是无法正常获取的。也许正是这个原因,Windows提供了两个消息WM_PRINT与WM_PRINTCLIENT,通过它们,可要求程序将窗体内容绘入指定的DC,以便获取。
    但有两点限制,
    1、它还是需程序支持,并不是所有程序都支持这两个消息的;
    2、它要先建一个DC,再用消息传入,且是不能跨进程的;
      

  5.   


    WM_PRINT与WM_PRINTCLIENT 具体怎么用? 请指教……