gpt4 book ai didi

c++ - 创建一个创建全屏覆盖的程序

转载 作者:可可西里 更新时间:2023-11-01 12:02:19 26 4
gpt4 key购买 nike

我想编写一个程序来创建一个透明覆盖层来填充 Windows 7 中的整个屏幕,最好使用 C++ 和 OpenGL。不过,如果有一个用另一种语言编写的 API 可以让这一切变得 super 简单,我也非常愿意使用它。一般来说,我假设我必须能够以某种方式读取屏幕上已有的像素。

使用屏幕捕获软件使用的相同方法从屏幕获取像素然后重新绘制它们最初是可行的,但如果屏幕更新就会出现问题。然后我的程序必须最小化/关闭并重新出现,以便我能够读取底层像素。

最佳答案

Windows Vista 在 PIXELFORMATDESCRIPTOR 中引入了一个新标志:PFD_SUPPORT_COMPOSITION。如果 OpenGL 上下文是使用 alpha channel 创建的,即 PFD 的 AlphaBits 不为零,则 Windows 合成器会考虑 OpenGL 帧缓冲区的 alpha channel 。

然后通过创建一个全屏、无边框、未装饰的窗口,您可以获得您想要的这种精确覆盖。但是,此窗口仍将接收所有输入事件,因此您必须做一些繁重的工作并将所有输入事件手动传递给底层窗口。

关于c++ - 创建一个创建全屏覆盖的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8711301/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com