【发布时间】:2015-06-27 18:56:35
【问题描述】:
我正在开发 C++ 应用程序来管理 Windows 上多台显示器上的壁纸,就像 UltraMon 和 DisplayFusion 所做的那样,但有更多选项。
一切正常,但监控放置。
我的桌面有三个这样排列的显示器(忽略 N°4)
但是当我查看 UltraMon 生成的壁纸文件时,第三个监视器(小的)没有相同的位置:
通过使用 EnumDisplayMonitors 和 GetMonitorInfo 函数,我得到了这些数据:
0: 1920x1080 at 1920x0
1: 1920x1080 at 0x0 primary
2: 800x480 at -800x-480
与我的安排相对应,但与壁纸文件不同。
如何知道图像在全局壁纸文件中的位置以使其显示在正确的监视器上?我猜 UltraMon 的作者找到了正确的方法,因为它可以完美运行。
(我也在 UltraMon 论坛上问过这个问题)。
【问题讨论】:
-
大概壁纸图像必须从逻辑坐标 0x0 开始(即主显示器的壁纸),然后环绕。
-
@RaymondChen 我想我明白了,编码会有点棘手:)
标签: c++ windows winapi wallpaper