请问QQ截取动态图片原理是怎么样的,我的代码都顺利的截取如计算器等一些软件的图片,但是对电影播放器,网络游戏画面截图,则显示一片黑,还请各位大侠赐教

解决方案 »

  1.   

    我当初用GDI+做了一个小截图程序 视频截图也没搞定呢 哈哈
      

  2.   

    截获视频的截获不下来哦!
    视频的话,要用DirectX来弄
      

  3.   

    suiyunonghen, ahjoe 说的都对!不过有个恶心的方法,可以实现。就是在截的一瞬间把整图截了.再根据你的坐标换算到你要的位置你没见QQ截图的时候,整个视频画面都不动了.你等于在一张静态纸上截图当然如果你想达到在动态的视频画面截图.DX能帮你.GDI是不行的.
      

  4.   

    这个是视频加速模式问题。好像覆盖模式是显卡直接将图像输出到显示器上,不经过CPU处理,因此这类画面无法通过对CPU操作的程序直接获得。DirectX是个不错的选择。
      

  5.   

    (*^__^*) 嘻嘻……,能给点钱的话我可以卖套Delphi模仿QQ截图的源码给你。自己写的,跟QQ的截图一摸一样,而且比它的还稍微好一点。因为QQ截图是截取不到菜单的,我写的截图工具可以截图菜单。不信你试试,你打开菜单,然后按QQ的截图快捷键,菜单马上关掉。
      

  6.   

    BitBit(,,,,,,,,SRCCOPY or CAPTUREBLT);
    接分来了
      

  7.   

    需要关闭硬件加速//飘过, 正在寻找Win7下关闭硬件加速的方法.
      

  8.   

       对于不少视频播放软件来说,他们都是使用 direct show 来快速显示视频的,这种视频画面,一般的 screen capture 是无法截取的,只能通过一个 hook 来实现对 layer 层的截取,而且效果非常差,对于一个 24ps 的视频,占用 cpu 非常高. (kmp,smplayer,qvod,qq影音都使用 driect show.  但非常奇怪,暴风影音不是使用 direct show(我估计是使用 direct3d 或者opengl ), 可用 print screen 截取的。    但是,QQ 为什么可以截取呢,它有没有使用 hook 技术呢? 我看过他们的 dll ,应该是没有的,而且使用 hook 的前提是这个钩子(hook)要先于其它程序运行,所以 QQ 不可能使用 hook 技术。那 qq 如何截取 direct show 的图像呢。大家有没有发现,对于在线远程协助,其实是无法看到 direct show 的图像的。而普通的截一个图,这个其实 QQ 是通过禁用 direct show (即 dixdiag 中,禁用 directx 加速来实现的,大家不会写代码的话,可自己禁用  dixrectx 加速试试,是可以截屏的)