/// <summary> /// 设置壁纸模式类型 /// </summary> /// <param name="type"></param> /// <returns></returns> private int SetModeType(WallpaperModeType type) { switch (type) { case WallpaperModeType.Full: return(WALLPAPER_STYLE_FULL); case WallpaperModeType.Adapt: return(WALLPAPER_STYLE_ADAPT); case WallpaperModeType.Stretch: return(WALLPAPER_STYLE_STRETCH); case WallpaperModeType.Tiling: return(WALLPAPER_STYLE_TILING); case WallpaperModeType.Center: return(WALLPAPER_STYLE_CENTER); case WallpaperModeType.Span: return(WALLPAPER_STYLE_SPAN); default: return(WALLPAPER_STYLE_FULL); } }
/// <summary> /// 设置注册表壁纸样式 /// </summary> public void SetWallpaperStyle(WallpaperModeType type) { RegistryKey myRegKey = null; try { //设置墙纸显示方式 myRegKey = Registry.CurrentUser.OpenSubKey(@"Control Panel\Desktop", true); //赋值 //注意:在把数值型的数据赋到注册表里面的时候, //如果不加引号,则该键值会成为“REG_DWORD”型; //如果加上引号,则该键值会成为“REG_SZ”型。 string tileWallpaper = ""; string wallpaperStyle = ""; switch (type) { case WallpaperModeType.Full: tileWallpaper = "0"; wallpaperStyle = "10"; break; case WallpaperModeType.Adapt: tileWallpaper = "0"; wallpaperStyle = "6"; break; case WallpaperModeType.Stretch: tileWallpaper = "0"; wallpaperStyle = "2"; break; case WallpaperModeType.Tiling: tileWallpaper = "1"; wallpaperStyle = "2"; break; case WallpaperModeType.Center: tileWallpaper = "0"; wallpaperStyle = "0"; break; case WallpaperModeType.Span: tileWallpaper = "0"; wallpaperStyle = "22"; break; default: tileWallpaper = "0"; wallpaperStyle = "10"; break; } myRegKey.SetValue("TileWallpaper", tileWallpaper.ToString()); myRegKey.SetValue("WallpaperStyle", wallpaperStyle.ToString()); //关闭该项,并将改动保存到磁盘 myRegKey.Close(); } catch { myRegKey?.Close(); } }
/// <summary> /// 设置壁纸模式 /// </summary> /// <param name="type"></param> /// <returns></returns> public void SetStyleMode(WallpaperModeType type) => UpdateSettings("WallpaperStyle", SetModeType(type));
/// <summary> /// 设置壁纸模式 /// </summary> /// <param name="type"></param> /// <returns></returns> public void SetStyleMode(WallpaperModeType type) { Settings.Default.WallpaperStyle = SetModeType(type); Settings.Default.Save(); }
/// <summary> /// 壁纸样式模板 /// </summary> public WallpaperStyleModel(string name, WallpaperModeType type) { Name = name; Type = type; }