C#获取Windows 2000/XP 桌面背景图片路径
该项功能需要使用WINAPI SystemParametersInfo ,该函数用于设置和取得windows系统参数,详细信息可查阅MSDN,这里就不展开讨论了,实现主要部分如下
C# 中引用WINAPI定义如下:
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern int SystemParametersInfo(int uAction, int uParam, StringBuilder lpvParam, int fuWinIni);
private const int SPI_GETDESKWALLPAPER = 0x0073;
实现主要代码:
//定义存储缓冲区大小
StringBuilder s = new StringBuilder(200);
//获取Window 桌面背景图片地址,使用缓冲区
SystemParametersInfo(SPI_GETDESKWALLPAPER, 200, s, 0);
//缓冲区中字符进行转换
string wallpaper_path = s.ToString(); //系统桌面背景图片路径