2013-09-21 57 views
0

我有一段代碼來設置桌面壁紙,但圖像總是平鋪而不是拉伸。以編程方式設置壁紙始終平鋪圖像

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預覽以防萬一。

回答

1

這些註冊表值是字符串,而不是整數。你可以從Regedit.exe中得知,它顯示的值是REG_SZ而不是REG_DWORD。這應該修復它:

rkWallPaper.SetValue("WallpaperStyle", "2"); 
    rkWallPaper.SetValue("TileWallpaper", "0"); 

注意加雙引號。

+0

是的,工作就像一個魅力。謝謝! –