我有一段代码来设置桌面墙纸,但图像始终是平铺而不是拉伸。
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);
正确设置了注册表值,但是当我转到Personalize
屏幕时,我看到该设置为Tiled
。
我正在运行Windows 8.1预览,以防万一。
答案 0 :(得分:1)
这些注册表值是字符串,而不是整数。您可以从Regedit.exe中获知,它将值显示为REG_SZ而不是REG_DWORD。这应该解决它:
rkWallPaper.SetValue("WallpaperStyle", "2");
rkWallPaper.SetValue("TileWallpaper", "0");
请注意添加的双引号。