예제 #1
0
        /// <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);
            }
        }
예제 #2
0
        /// <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();
            }
        }
예제 #3
0
 /// <summary>
 /// 设置壁纸模式
 /// </summary>
 /// <param name="type"></param>
 /// <returns></returns>
 public void SetStyleMode(WallpaperModeType type) => UpdateSettings("WallpaperStyle", SetModeType(type));
예제 #4
0
 /// <summary>
 /// 设置壁纸模式
 /// </summary>
 /// <param name="type"></param>
 /// <returns></returns>
 public void SetStyleMode(WallpaperModeType type)
 {
     Settings.Default.WallpaperStyle = SetModeType(type);
     Settings.Default.Save();
 }
예제 #5
0
 /// <summary>
 /// 壁纸样式模板
 /// </summary>
 public WallpaperStyleModel(string name, WallpaperModeType type)
 {
     Name = name;
     Type = type;
 }