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