做这个纯属和郁闷,win7家庭普通版的电脑背景图片居然不能动态切换。去哦一气之下就做了这个

public FrmpictureBox()
        {
            InitializeComponent();
            downbingimage();
        }

/// <summary>  
        /// 返回指定目录下所有文件信息  
        /// </summary>  
        /// <param name="strDirectory">目录字符串</param>  
        /// <returns></returns>  
        public List<FileInfo> GetAllFilesInDirectory(string strDirectory)
        {
            List<FileInfo> listFiles = new List<FileInfo>(); //保存所有的文件信息  
            DirectoryInfo directory = new DirectoryInfo(strDirectory);
            DirectoryInfo[] directoryArray = directory.GetDirectories();
            FileInfo[] fileInfoArray = directory.GetFiles();
            if (fileInfoArray.Length > 0)
            {
                //string extension = System.IO.Path.GetExtension(fileInfoArray.ToString());
                //if (extension == ".jpg")
                //{
                listFiles.AddRange(fileInfoArray);
                //}
            }
            foreach (DirectoryInfo _directoryInfo in directoryArray)
            {
                DirectoryInfo directoryA = new DirectoryInfo(_directoryInfo.FullName);
                DirectoryInfo[] directoryArrayA = directoryA.GetDirectories();
                FileInfo[] fileInfoArrayA = directoryA.GetFiles();
                if (fileInfoArrayA.Length > 0)
                {
                    listFiles.AddRange(fileInfoArrayA);
                }
                GetAllFilesInDirectory(_directoryInfo.FullName);//递归遍历  
            }

return listFiles;
        }
        /// <summary>
        /// 根据日期获取路径
        /// </summary>
        private void downbingimage()
        {
            string week = DateTime.Now.DayOfWeek.ToString();
            int imgpath=0;
            //Monday——星期一
            //星期二Tuesday
            //星期三Wednesday
            //星期四Thursday
            //星期五Friday
            //星期六Saturday
            //星期日Sunday

switch(week)
            {
                case "Monday":
                    imgpath=1;
                    break;
                case "Tuesday":
                    imgpath = 2;
                    break;
                case "Wednesday":
                    imgpath = 3;
                    break;
                case "Thursday":
                    imgpath = 4;
                    break;
                case "Friday":
                    imgpath = 5;
                    break;
                case "Saturday":
                    imgpath = 6;
                    break;
                case "Sunday":
                    imgpath = 7;
                    break;
            }
           
            string locurl = "";

locurl = Path.Combine(Directory.GetCurrentDirectory(), "im" + imgpath + ".jpg");
            pictureBox1.Image = Image.FromFile(locurl);

setbackground(locurl);

}
        /// <summary>
        /// 设置电脑背景图片
        /// </summary>
        /// <param name="strSavePath"></param>
        private void setbackground(string strSavePath)
        {

//设置墙纸显示方式
            RegistryKey myRegKey = Registry.CurrentUser.OpenSubKey(@"Control Panel/desktop", true);

myRegKey.SetValue("TileWallpaper", "0");//0 居中 1  平铺 默认
            myRegKey.SetValue("WallpaperStyle", "0");//2 拉伸
            this.label1.Text = "当前模式:居中";
            this.label2.Text = "更改配置文件config.xml可在下次启动时改变模式";

//关闭该项,并将改动保存到磁盘
            myRegKey.Close();

//设置墙纸
            string strPathBmp = Directory.GetCurrentDirectory() + "im1.jpg";

System.Drawing.Bitmap bm = new System.Drawing.Bitmap(strSavePath);
            bm.Save(strPathBmp, System.Drawing.Imaging.ImageFormat.Bmp);//把jpg转成bmp
            SystemParametersInfo(20, 1, strPathBmp, 1);//SPI_SETDESKWALLPAPER

}

/// <summary>
        /// 调用电脑底层的接口
        /// </summary>
        /// <param name="uAction"></param>
        /// <param name="uParam"></param>
        /// <param name="lpvParam">图片的路径</param>
        /// <param name="fuWinIni"></param>
        /// <returns></returns>
        /// uAction Long,指定要设置的参数。参考uAction常数表
        ///uParam Long,参考uAction常数表
        ///
        ///lpvParam Any,按引用调用的Integer、Long和数据结构。
        ///
        ///fuWinIni 这个参数规定了在设置系统参数的时候,是否应更新用户设置参数
        ///
        ///下面是部分uAction参数,和使用它们的方法:
        ///
        ///参数    意义和使用方法  
        ///
        ///6    设置视窗的大小,SystemParametersInfo(6, 放大缩小值, P, 0),lpvParam为long型
        ///
        ///17    开关屏保程序,SystemParametersInfo(17, False, P, 1),uParam为布尔型
        ///
        ///13,24    改变桌面图标水平和垂直间距,uParam为间距值(像素),lpvParam为long型
        ///
        ///15    设置屏保等待时间,SystemParametersInfo(15, 秒数, P, 1),lpvParam为long型
        ///
        ///20    设置桌面背景墙纸,SystemParametersInfo(20, True, 图片路径, 1)
        ///
        ///93    开关鼠标轨迹,SystemParametersInfo(93, 数值, P, 1),uParam为False则关闭
        ///
        ///97    开关Ctrl+Alt+Del窗口,SystemParametersInfo(97, False, A, 0),uParam为布尔型
        [DllImport("user32.dll", EntryPoint = "SystemParametersInfoA")]
        static extern Int32 SystemParametersInfo(Int32 uAction, Int32 uParam, string lpvParam, Int32 fuWinIni);//lpvParam要设置成string
       
        /// <summary>
        ///时间控制
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Pricttimer_Tick(object sender, EventArgs e)
        {
            downbingimage();
        }

C# 替换桌面背景图片相关推荐

  1. Fedora15上实现桌面背景图片渐变

    2019独角兽企业重金招聘Python工程师标准>>> 桌面背景图片渐变,在Ubuntu中很容易实现.Ubuntu默认就自带了几款渐变壁纸.但换到Fedora后,貌似没发现有自带的渐 ...

  2. 修改计算机桌面壁纸影响计算机考试吗,若何修改调换计算机桌面背景图片

    <若何修改调换计算机桌面背景图片>由会员分享,可在线阅读,更多相关<若何修改调换计算机桌面背景图片(3页珍藏版)>请在技术文库上搜索. 1.韧耐距荤丢郧瞄宵汤隧匣龋侥撤东取滤傣 ...

  3. win7自定义随机更换显示桌面背景图片

    在网上看到了好几张漂亮的图片,都想作为桌面背景图片,随机更换,于是搜索方法,因为win7自带的主题有的就是随机更换背景的,所以想着自己是不是可以新建一个主题,也能实现那个效果. 果然,还是微软强悍- ...

  4. C#实现动态桌面背景图片切换

    问题描述:凝视桌面背景,突感如果桌面背景是变化的像win7一样,该多有意思啊.闹钟瞬间产生一个念头,用C#写一个动态切换桌面背景的图片.如何实现这个想法了,我思考了一会儿,想到了如下的一些需要解决的问 ...

  5. SAP修改登录桌面背景图片

    SAPgui 提供了丰富的界面风格设定功能,跟 Windows 桌面主题一样,可以任意设定自己喜欢的颜色风格.不过美中不足,它的背景图片却比较单调,天天看惯了正式系统的蔚蓝水池或者 IDES 系统的小 ...

  6. 设置smartphone桌面背景图片

    刚作smartphone程序的时候有个功能就是设置一张图片为sp桌面背景,这个功能很长时间都没有完全实现,设置桌面有时成功,有时候则没有反应,几经辗转,最近还是ningxu告诉我是一个参数错了,才有了 ...

  7. 计算机桌面背景图片怎么改 win7,怎么换开机关机的背景图_w7系统修改开关机壁纸的方法...

    最近有朋友问小编怎么换开机关机的背景图,对于这个问题,相信很多朋友都还不太清楚,有的朋友觉得windows7系统的开机和关机背景图片不好看,想要更换win7系统的开关机壁纸,但是却不知道修改的方法,别 ...

  8. android 背景图片自适应屏幕大小,android 设置桌面背景图片适应屏幕大小

    今天做demo,设置桌面每天自动更新背景,但是桌面的背景都是被系统裁剪过的图片,上网百度了一下,有个过时的方法,改进后果然有用了! Bitmap bmp=BitmapFactory.decodeRes ...

  9. C#实现动态桌面背景图片切换(续)

    问题描述:昨天搞了一个自动切换桌面的小程序,用着不太方便.因为我每次添加新图片都是手动修改XML文件和重启服务,于是我搞了一个配置程序如下: 上面展示的功能,基本上实现了程序所需要的功能.其中涉及的知 ...

最新文章

  1. FastDFS图片服务器
  2. IBM谢东:2nm芯片可让手机4天一充电,量子计算机大规模应用的未来不会太远|MEET2022...
  3. Shell : 基本语法
  4. 深入理解Mysql - 索引原理详解
  5. ES6 数组高频使用方法
  6. [BZOJ 5074]小B的数字
  7. 脚本计算文件MD5 SHA1 SHA256值(Windwos及Linux)
  8. java分页的方法_java实现的分页方法(上一页下一页)
  9. 量化指标公式源码_量化庄建仓(副图指标源码)下载 通达信源码
  10. 算法设计与分析(期末复习重点)更新中
  11. MATLAB-马尔可夫链(马氏链)模型
  12. 识别PDF文字,教你两招
  13. 基于OpenCV3.0的车牌识别系统设计(二)--车牌提取
  14. HTML5期末大作业:旅游网站设计——中国风的旅游网站(9页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码...
  15. Linux 运维是做什么的
  16. SCI检索与EI检索
  17. web单页面应用与多页面应用区别
  18. [1168]OSS ossutil64安装及使用
  19. 虚拟机无法建立与服务器的连接,无法通过 Vmconnect 连接到虚拟机 - Windows Server | Microsoft Docs...
  20. Flask-SocketIO的使用

热门文章

  1. win7和xp无线共享网络问题
  2. 解决 vs2003 无法启动调试 没有正确安装调试器
  3. C#中IListT与ListT的区别感想
  4. python 读取图片颜色值生成excel像素画
  5. 编译win10的WSL2内核(windows subsystem linux)
  6. android 4.0 蓝牙分析之一
  7. ffmpeg (一):起步
  8. tensorflow之exponential_decay
  9. 一分钟掌握Python字典的用法
  10. oracle怎么恢复删除数据库数据库文件,Oracle只有数据文件恢复数据库