黑马程序员技术交流社区

标题: 【我的小念想】开机自动启动 每间隔10分钟环桌面 [打印本页]

作者: 王盛    时间: 2013-6-11 13:55
标题: 【我的小念想】开机自动启动 每间隔10分钟环桌面

每间隔10分钟环c:\pic\目录下随机挑选一张图片作为桌面壁纸
public enum ShowType
         {
             居中,
             平铺,
             拉伸
         }

        [DllImport("user32.dll", EntryPoint = "SystemParametersInfo")]
         public static extern int SystemParametersInfo(int uAction, int uParam, string lpvParam, int fuWinIni);
         private FileInfo[] file = null;

        private void timer1_Tick(object sender, EventArgs e)
         {
             Random rd = new Random();
             int index = rd.Next(1, file.Length);
             string path = file[index].DirectoryName + "\\" + file[index].Name;
             SystemParametersInfo(20, 1, path, 1);
         }

        private void Form1_Load(object sender, EventArgs e)
         {
             //设置墙纸显示方式
             SetShowType(ShowType.拉伸);
             file = GetFile();
             timer1.Start();
         }

        public void SetShowType(ShowType type)
         {
             RegistryKey myRegKey = Registry.CurrentUser.OpenSubKey(@"Control Panel\desktop", true);
             if (type == ShowType.平铺)
             {
                 myRegKey.SetValue("TileWallpaper", "1");
                 myRegKey.SetValue("WallpaperStyle", "0");
             }
             else if (type == ShowType.居中)
             {
                 myRegKey.SetValue("TileWallpaper", "0");
                 myRegKey.SetValue("WallpaperStyle", "0");
             }
             else if (type == ShowType.拉伸)
             {
                 myRegKey.SetValue("TileWallpaper", "0");
                 myRegKey.SetValue("WallpaperStyle", "2");
             }
             myRegKey.Close();
         }

        public FileInfo[] GetFile()
         {
             DirectoryInfo dirInfo = new DirectoryInfo("c:\\pic");
             return dirInfo.GetFiles();
         }
作者: 许庭洲    时间: 2013-6-11 14:23
值得学习ing!
作者: 黑马-吕老师    时间: 2013-6-11 14:34
赞一个




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2