【发布时间】:2016-06-21 15:27:39
【问题描述】:
我有一个 Windows 应用程序,它从屏幕上抓取像素以录制(以视频的形式)为自定义屏幕共享格式。问题在于,在使用软件光标的机器上,使用 SRCCOPY|CAPTUREBLIT 从屏幕上闪烁(这样分层窗口也会显示在图像中)会导致光标闪烁,如Case of the Disappearing Cursor 中所述。
对于单个屏幕截图,这不是问题,但是当快速连续拍摄多个屏幕截图时,光标闪烁得非常快,有时似乎完全消失了。
我已经研究过使用 Windows Media Encoder SDK(如 codeproject 文章中所述,见下文),因为它不会导致光标闪烁,但似乎无法直接访问帧数据。不幸的是,实时编码和自定义格式都是必需的,这使得 windows Media Encoder 无法用于此目的。
我也尝试过 DirectX 方式(在同一篇文章中描述,见下文),它似乎遇到了同样的问题。
还有其他人遇到过这个问题吗?一定有办法解决它 - 许多商业屏幕共享程序都没有这样的问题。
文章:www.codeproject.com/KB/dialog/screencap.aspx
【问题讨论】:
标签: windows cursor screenshot bitblt