zoukankan      html  css  js  c++  java
  • 利用API设置桌面背景

    实现效果:

      

    知识运用:

      API函数SystemParametersInfo

      

    实现代码:

            [DllImport("user32.dll", EntryPoint = "SystemParametersInfoA")]
            static extern Int32 SystemParametersInfo(Int32 uAction,Int32 uParam,string Ipvparam,Int32 fuwinIni);
            private const int SPI_SETDESKWALLPAPER = 20;
            private void 打开OToolStripButton_Click(object sender, EventArgs e)
            {
                if (openFileDialog1.ShowDialog() == DialogResult.OK)    //如果选择了图片    
                { 
                    string[] arr=new string[3];
                    string[] arrInfo = openFileDialog1.FileNames;
                    foreach(string s in arrInfo)
                    {
                        FileInfo finfo = new FileInfo(s);
                        arr[0] = finfo.Name;
                        arr[1] = finfo.FullName;
                        arr[2] = finfo.Extension;
                        ListViewItem lvi = new ListViewItem(arr);
                        listView1.Items.Add(lvi);
                    }
                }
            }
    
            private void 设为桌面背景ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                if (listView1.SelectedItems.Count > 0)
                {
                    string path = listView1.SelectedItems[0].SubItems[1].Text;
                    string fName = path.Substring(path.LastIndexOf("\")+1,path.LastIndexOf(".")-path.LastIndexOf("\")-1);
                    string fExten = path.Substring(path.LastIndexOf(".")+1,path.Length-path.LastIndexOf(".")-1);
                    fExten = fExten.ToLower();
                    if (fExten == "bmp")
                    {
                        SystemParametersInfo(SPI_SETDESKWALLPAPER,0,path,1);
                    }
                    else 
                    {
                        string sysPath = Environment.SystemDirectory;
                        string savPaht = sysPath + "\" + fName + ".bmp";
                        if (File.Exists(savPaht))                                   //如果转换后的文件存在
                        {
                            File.Delete(savPaht);
                            PictureBox pb = new PictureBox();
                            pb.Image = Image.FromFile(path);
                            pb.Image.Save(savPaht,ImageFormat.Bmp);                 //使用SAVE方法实现格式转换
                        }
                        else
                        {
                            PictureBox pb = new PictureBox();
                            pb.Image = Image.FromFile(path);
                            pb.Image.Save(savPaht, ImageFormat.Bmp);
                        }
                        SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, savPaht, 1);  //设置桌面背景
                    }
                }
            }
    

      

  • 相关阅读:
    P1378 油滴扩展
    P1219 [USACO1.5]八皇后 Checker Challenge
    P1126 机器人搬重物
    Mac鼠标和触控板完美使用
    B词
    一个开发狗的时间线
    快速排序
    TikTok直播研发校招专属内推
    Jupyter Lab + anaconda 环境搭建
    React环境搭建
  • 原文地址:https://www.cnblogs.com/feiyucha/p/10308978.html
Copyright © 2011-2022 走看看