C# 以编程方式设置墙纸始终平铺图像
我有一段代码来设置桌面壁纸,但是图像总是平铺而不是拉伸C# 以编程方式设置墙纸始终平铺图像,c#,winapi,pinvoke,.net-4.5,C#,Winapi,Pinvoke,.net 4.5,我有一段代码来设置桌面壁纸,但是图像总是平铺而不是拉伸 using (RegistryKey rkWallPaper = Registry.CurrentUser.OpenSubKey("Control Panel\\Desktop", true)) { rkWallPaper.SetValue("WallpaperStyle", 2); rkWallPaper.SetValue("TileWallpaper", 0); } return SystemParametersInfo
using (RegistryKey rkWallPaper = Registry.CurrentUser.OpenSubKey("Control Panel\\Desktop", true))
{
rkWallPaper.SetValue("WallpaperStyle", 2);
rkWallPaper.SetValue("TileWallpaper", 0);
}
return SystemParametersInfo(0x14, 0, imagePath, 0x01 | 0x02);
注册表值设置正确,但是当我进入个性化设置
屏幕时,我看到设置为平铺
我正在运行Windows 8.1预览,以防出现问题。这些注册表值是字符串,而不是整数。从Regedit.exe可以看出,它将值显示为REG_SZ而不是REG_DWORD。这应该解决它:
rkWallPaper.SetValue("WallpaperStyle", "2");
rkWallPaper.SetValue("TileWallpaper", "0");
注意添加的双引号