使用Win API设置壁纸

时间:2013-01-06 20:26:19

标签: windows winapi wallpaper

我想以编程方式设置壁纸。这是迄今为止我发现的唯一解决方案:

SystemParametersInfoW(SPI_SETDESKWALLPAPER, 1, (void*)wallpaperImageFilePath.utf16(), SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);

我的问题是:如何告诉Windows我希望壁纸图像居中(未调整大小)?上述解决方案始终将图像设置为拉伸模式。根据MSDN,SPI_SETDESKWALLPAPER没有标记。

2 个答案:

答案 0 :(得分:5)

没有用于设置壁纸方向的API函数。您必须直接转到注册表,特别是"WallpaperStyle"键的"TileWallpaper"HKEY_CURRENT_USER\Control Panel\Desktop值。请参阅此文章以获取示例:

Set the desktop wallpaper (CppSetDesktopWallpaper)

答案 1 :(得分:3)

从Windows 8开始,现在有一个用于设置桌面背景的已发布界面。特别是--2017-10-09 15:22:23-- http://dev.mysql.com/get/mysql-apt-config_0.8.3-1_all.deb Resolving dev.mysql.com (dev.mysql.com)... 137.254.60.11 Connecting to dev.mysql.com (dev.mysql.com)|137.254.60.11|:80... failed: Connection refused. 方法。 MSDN Documentation

该界面还有多种获取和设置幻灯片配置的方法,以及获取所需的监视器设备路径。