根据我的理解,使用 captureblt 的 bitblt 调用会从显示器的帧缓冲区对象中提供缓冲区。在此缓冲区中,不存在鼠标光标。
在 Windows XP 中,连续的 bitblt 调用会使鼠标闪烁,我可以假设 - 鼠标被隐藏,执行渲染操作并返回帧缓冲区。但是在 Windows 7 中,鼠标没有闪烁,但它没有被捕获到 bitblt 调用返回的缓冲区中。鼠标在 Windows 7 中是如何呈现的?我可以用类似的方式呈现一些文本吗?
我需要在所有窗口的顶部覆盖文本,但它不应该出现在 bitblt 调用中。我试图看看我们是否可以渲染类似于鼠标渲染方式的东西。
最佳答案
我认为 Windows 7 使用桌面合成(或任何所谓的)来渲染东西,所以窗口实际上是在屏幕外渲染的,捕获是从那里获取的......
注意:仅供引用,旧行为:The Case of the Disappearing Cursor
关于c++ - 鼠标在windows中是如何渲染的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18653874/