【发布时间】:2019-11-18 19:25:17
【问题描述】:
我已经尝试了这些帖子中指定的所有解决方案:
- How to change the windows 10 wallpaper with C++?
- How to change desktop background using VC++
- SystemParametersInfo sets wallpaper completly black (using SPI_SETDESKWALLPAPER)
我仍然似乎无法让它工作....这是我的代码:
const wchar_t* path = L"C:\\imagge.png";
bool result = SystemParametersInfoW(SPI_SETDESKWALLPAPER, 0, (void*)path, SPIF_UPDATEINIFILE);
std::cout << result;
另外,如果我指定了一个无效的路径,当它在docs SPI_SETDESKWALLPAPER 位上明确指出如果他们有问题它应该返回 0(false) 时,它仍然会打印 1(true)
我也试过调用打印出GetLastError();,它返回 0....
注意当使用 SPI_SETDESKWALLPAPER 标志时,SystemParametersInfo 除非有错误,否则返回 TRUE(比如当指定的文件 不存在)。
【问题讨论】:
-
你试过用IDesktopWallpaper代替吗?
-
我不确定您是否可以在此处使用 png。使用 bmp 文件。
-
谢谢@IInspectable,界面更简单有效!
-
要设置纯色,请移除壁纸,而不是将其设置为具有单一颜色的图像。使其匹配 COLOR_DESKTOP。
标签: c++ winapi windows-10