我想在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小时的谷歌搜索没有让我到任何地方。也许这里有人可以提供帮助。
答案 0 :(得分:0)
我的朋友发现它使用了不同的图像。
我使用GIMP保存了我的.bmp文件,如果您使用默认导出选项,这显然有问题。如果我在导出时选中“不写颜色空间信息”,它可以正常工作。
毕竟代码很好。