什么是真正的桌面背景HWND
What is the real desktop background HWND?
我想编写一个使用OpenGL创建动画桌面背景的程序。因此,我需要知道包含桌面图片的 HWND。完美的将是我如何找到该特定窗口的代码示例。
如果您仔细阅读文档,您会发现一定不能在根/桌面窗口上设置像素格式。此外,桌面窗口的 DC 也不是独占的。这两种约束都使得无法直接在桌面窗口上创建 OpenGL 上下文。另请注意,对于典型的 Windows 外壳(资源管理器.exe),桌面实际上是 Win32 图标视图,由资源管理器.exe进程拥有,并且是桌面窗口的子级。
您可以做的是创建一个与桌面窗口大小相同的 FBO,其像素格式与桌面窗口的 DC 兼容。然后渲染到FBO将其内容读入DIBSection使用CreateDIBPatternBrushPt创建HBRUSH并使用SetClassLongPtr设置桌面窗口的背景画笔。
相关文章:
- 试图在visual studio上用C++创建一个桌面应用程序
- 如何在全屏模式下(在OpenGL中)使背景透明
- 使用窗口中的QSlider更改背景音量
- 如何在桌面C++上使用 WinApi 画线
- SDL2 透明背景
- 桌面中的Qt QMessageBox中心'critical'
- Qt QML桌面应用程序自动化测试
- Windows 10 上的 Linphone 桌面
- 如何使用opencv和Qt拍摄部分桌面的照片
- 在 Visual C++ 中以编程方式更改按钮的背景图像
- 多重采样背景不显示
- Windows桌面程序保存您的计算机会话 - 基于程序崩溃时的恢复会话
- 直接2D用WM_ERASEBKGND擦除背景?
- 在特定时间内更改 QLabel 的背景颜色
- 具有SPI_SETDESKWALLPAPER功能的程序仅在尝试使用C++将其更改为图像时将桌面背景更改为黑色
- 以编程方式更改桌面背景
- 什么是真正的桌面背景HWND
- 根据代码设置桌面背景颜色
- 重置现有的HBITMAP作为桌面背景(Win32)
- 如何用vc++改变桌面背景