【问题标题】:Setting wallpaper with Win API使用 Win API 设置壁纸
【发布时间】:2013-01-06 20:26:19
【问题描述】:

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

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

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

【问题讨论】:

    标签: windows winapi wallpaper


    【解决方案1】:

    从 Windows 8 开始,现在有一个用于设置桌面背景的已发布界面。特别是IDesktopBackground::SetWallpaper 方法。 MSDN Documentation

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

    【讨论】:

      【解决方案2】:

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

      Set the desktop wallpaper (CppSetDesktopWallpaper)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-14
        • 1970-01-01
        相关资源
        最近更新 更多