c# 更改桌面背景

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

using System.Runtime.InteropServices;  //调用WINDOWS API函数时要用到
using Microsoft.Win32;  //写入注册表时要用到
using System.IO;

namespace ChangeDesk
{
    public partial class Form1 : Form
    {
        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        public static extern int SystemParametersInfo(int uAction, int uParam, string lpvParam, int fuWinIni);
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //设置墙纸显示方式
      RegistryKey myRegKey = Registry.CurrentUser.OpenSubKey(@"Control Panel/desktop",true);
      //赋值
      //注意:在把数值型的数据赋到注册表里面的时候,
      //如果不加引号,则该键值会成为“REG_DWORD”型;
      //如果加上引号,则该键值会成为“REG_SZ”型。
      myRegKey.SetValue("TileWallpaper","0");
      myRegKey.SetValue("WallpaperStyle","0");

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

      //设置墙纸    
      string strSavePath = Application.StartupPath + @"/272338.jpg";
      Bitmap myBmp = new Bitmap(strSavePath);
      string fileName = Path.Combine(Directory.GetCurrentDirectory(), "wall.bmp");
      myBmp.Save(fileName, System.Drawing.Imaging.ImageFormat.Bmp);

      SystemParametersInfo(20, 1, fileName, 1);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            SystemParametersInfo(20, 1, "", 1);
        }
    }
}

你可能感兴趣的:(c# 更改桌面背景)