【问题标题】:Set Windows wallpaper using Ruby使用 Ruby 设置 Windows 壁纸
【发布时间】:2012-11-11 05:00:43
【问题描述】:

我想更改 Windows 中的桌面壁纸(7,如果有区别的话)。

我在下面的尝试没有成功。据我所知,它不会更改壁纸、注册表项或执行打印“0”以外的任何操作。

require 'Win32API'

SPI_SETDESKWALLPAPER = 20
SPIF_UPDATEINIFILE = 0x1
SPIF_SENDWININICHANGE = 0x2

wallpaper_path = 'C:\\test.bmp'

systemParametersInfo = Win32API.new('user32', 'SystemParametersInfo', ['I','I','P','I'], 'I')
puts systemParametersInfo.call(SPI_SETDESKWALLPAPER, 0, wallpaper_path, SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE)

2 小时的谷歌搜索并没有让我有所收获。也许这里有人可以提供帮助。

【问题讨论】:

  • 运行这个时发生了什么?

标签: ruby windows winapi wallpaper


【解决方案1】:

我的朋友发现它可以使用不同的图像。

我使用 GIMP 保存了我的 .bmp 文件,如果您使用默认导出选项,这显然是有问题的。如果我在导出时选中“不写色彩空间信息”,它工作正常。

所以代码还是没问题的。

【讨论】:

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