一个工具类,让你用C#换桌面墙纸

参考了这篇文章:

http://blog.csdn.net/sonyicn/archive/2006/05/20/746280.aspx

现实代码如下:

using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using Microsoft.Win32;
using System.IO;

namespace RockLib
{
    
public class Utils
    
{
        
/// <summary>
        
/// Change user's desktop wallpaper
        
/// </summary>
        
/// <param name="picturePath"></param>
        
/// <param name="style"></param>
        
/// <returns></returns>

        public static bool ChangeWallPaper(string picturePath, WallPaperStyle style)
        
{
            RegistryKey myRegKey 
= Registry.CurrentUser.OpenSubKey("Control Panel\\desktop"true);
            
switch (style)
            
{
                
case WallPaperStyle.Center:
                    myRegKey.SetValue(
"TileWallpaper""0");
                    myRegKey.SetValue(
"WallpaperStyle""0");
                    
break;
                
case WallPaperStyle.Tile:
                    myRegKey.SetValue(
"TileWallpaper""1");
                    myRegKey.SetValue(
"WallpaperStyle""0");
                    
break;
                
case WallPaperStyle.Stretch:
                    myRegKey.SetValue(
"TileWallpaper""0");
                    myRegKey.SetValue(
"WallpaperStyle""2");
                    
break;
                
default:
                    
throw new NotSupportedException("style");                    
            }


          
            myRegKey.Close();

            
int intResult;
            
            
if (!File.Exists(picturePath))
            
{
                
throw new ArgumentException(string.Format("Picture {0} cannot be found.", picturePath));
            }


            intResult 
= SystemParametersInfo(203, picturePath, 0x1 | 0x2);

            
return intResult > 0;

        }


        [DllImport(
"user32.dll", CharSet = CharSet.Auto)]
        
public static extern int SystemParametersInfo
            (
int uAction, int uParam, string lpvParam, int fuWinIni);   
    }


    
public enum WallPaperStyle
    
{
        Center,
        Tile,
        Stretch
    }

}

测试代码:

Code
原文地址:https://www.cnblogs.com/rockniu/p/1263134.html