c++ - 鼠标在windows中是如何渲染的

标签 c++ windows screen-capture bitblt

根据我的理解,使用 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/

相关文章:

python - 如何将链接的 DLL 和 pyd 文件打包成一个独立的 pyd 文件?

python - multiprocessing.Process 子类适用于 Linux,但不适用于 Windows

python - 我如何在 Python 中开发屏幕捕获工具

c++ - Windows下4K屏幕截图并直接保存到缓冲区

c++ - 你能在 C++ 中有一个数组 vector 吗?

C++ 不在任务栏中显示使用 CreateWindow 创建的窗口

c++ - K阶统计搜索

c++ - 将 boost::lambda::bind 的返回值赋给对象?

user-interface - 自动窗口屏幕截图成功/失败

windows - 为什么 FileStream 和 CopyFile 比 Windows Explorer 慢这么多?