C#更换桌面壁纸
标签:pen namespace entry space empty get style setvalue rop
WallpaperHelper.cs文件:
using Microsoft.Win32;
using System.IO;
using System.Runtime.InteropServices;
namespace NPOIDemo
{
///
/// 更换壁纸
///
public class WallpaperHelper
{
[DllImport("user32.dll", EntryPoint = "SystemParametersInfo")]
public static extern int SystemParametersInfo(int uAction, int uParam, string lpvParam, int fuWinIni);
///
/// 更换壁纸
///
/// 壁纸文件的路径
/// 操作结果:true为更换成功,false为更换失败
public static bool ChangeWallPaper(string fileName)
{
if (string.IsNullOrEmpty(fileName))
{
return false;
}
if (File.Exists(fileName) == false)
{
return false;
}
fileName = Path.GetFullPath(fileName);
var nResult = SystemParametersInfo(20, 1, fileName, 0x1 | 0x2); //更换壁纸
if (nResult == 0)
{
return false;
}
else
{
RegistryKey hk = Registry.CurrentUser;
RegistryKey run = hk.CreateSubKey(@"Control Panel\Desktop\");
run.SetValue("Wallpaper", fileName);
return true;
}
}
}
}
调用示例:
var fileDialog = new OpenFileDialog();
fileDialog.Filter = "所有文件(*.*)|*.*";
if (fileDialog.ShowDialog() == true)
{
var fileName = fileDialog.FileName;
WallpaperHelper.ChangeWallPaper(fileName);
}
C#更换桌面壁纸
标签:pen namespace entry space empty get style setvalue rop
原文地址:https://www.cnblogs.com/wzwyc/p/14446840.html
文章来自:
搜素材网的
编程语言模块,转载请注明文章出处。
文章标题:
C#更换桌面壁纸
文章链接:http://soscw.com/index.php/essay/58316.html
评论