【发布时间】:2013-01-15 16:16:26
【问题描述】:
我在我的项目中大量使用 BitBlt。我创建了许多线程,并在每个线程中通过 BitBlt 捕获屏幕。除了以下问题之外,它现在运行良好且符合预期。
当用户单击正在运行的程序或例如已在任务栏上打开的资源管理器时,就会出现问题。您知道,当您单击任务栏上正在运行的程序时,它会最小化或出现在屏幕上。我正在谈论的问题恰好发生在这个过渡中。在那一刻,就像中断一样,所有线程停止捕获屏幕一秒钟,然后继续捕获。当您在音量控制窗口上向下或向上移动时,也会发生同样的事情。您能否解释一下为什么会发生这种情况以及如何防止这种情况发生?
谢谢。
杰
【问题讨论】:
-
这几乎肯定是由 Aero 引起的。您不再使用 BitBlt 读取视频内存,Aero 合成位图。当它显示窗口动画时,它会暂时停止执行此操作。当然,这没有简单的解决方法。
-
不。航空已关闭。这在没有航空的情况下发生。还是谢谢。
标签: windows api capture interrupt bitblt