首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >光标在bitblt上消失

光标在bitblt上消失
EN

Stack Overflow用户
提问于 2009-08-04 18:54:13
回答 5查看 1.5K关注 0票数 2

我有一个windows应用程序,它可以从屏幕上抓取像素,以便录制(以视频的形式)为自定义的屏幕共享格式。问题是,在使用软件光标的计算机上,使用SRCCOPY|CAPTUREBLIT从屏幕上闪动(以便分层窗口也显示在图像中)会导致光标闪烁,如Case of the Disappearing Cursor中所述。

对于单个屏幕截图,这不是问题,但当快速连续拍摄多个屏幕截图时,光标闪烁得如此之快,有时似乎完全消失了。

我已经研究过使用Windows Media Encoder SDK (如下面的代码项目文章中所述),因为它不会导致光标闪烁,但似乎没有直接访问帧数据的方法。不幸的是,实时编码和自定义格式都是必需的,这使得windows Media Encoder无法用于此目的。

我也尝试过DirectX方法(在同一篇文章中描述,见下文),它似乎也遇到了同样的问题。

有没有其他人遇到过这个问题?一定有办法绕过它--许多商业屏幕分享程序都没有这样的问题。

文章:www.codeproject.com/KB/dialog/Screence.aspx

EN

回答 5

Stack Overflow用户

发布于 2009-08-04 22:28:42

使用镜像驱动怎么样?

票数 0
EN

Stack Overflow用户

发布于 2009-08-05 03:13:15

你说得对,一面镜子肯定能用。然而,目前,我正试图远离这种方法,因为在没有管理员权限的用户下安装时,存在安全和权限方面的问题。如果我错了,请纠正我,但我认为没有这样的权限是无法安装驱动程序的。除此之外,这似乎是不必要的复杂:应该有一种更简单/更少侵入性的方法来做到这一点。(我应该在我的原问题中提到这一点)

票数 0
EN

Stack Overflow用户

发布于 2012-04-30 21:06:11

我必须克服闪烁的想法是“手动”绘制“你自己的鼠标副本”,然后进行BitBlt调用,或者只使用SRCCOPY调用BitBlt,然后手动捕获上面任何可见的透明窗口。我不知道商业广告是怎么做到的(或者说windows media编码器是怎么做到的)。

参考:http://us.generation-nt.com/xp-bitblt-captureblt-option-help-26970632.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1229271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档