zoukankan      html  css  js  c++  java
  • 一个工具类,让你用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
  • 相关阅读:
    android 多线程
    Uva 10881 Piotr’s Ants 蚂蚁
    LA 3708 Graveyard 墓地雕塑 NEERC 2006
    UVa 11300 Spreading the Wealth 分金币
    UVa 11729 Commando War 突击战
    UVa 11292 The Dragon of Loowater 勇者斗恶龙
    HDU 4162 Shape Number
    HDU 1869 六度分离
    HDU 1041 Computer Transformation
    利用可变参数函数清空多个数组
  • 原文地址:https://www.cnblogs.com/rockniu/p/1263134.html
Copyright © 2011-2022 走看看