c#获取windows桌面背景代码示例
程序员文章站
2024-02-22 20:27:04
复制代码 代码如下:#region 获取windows桌面背景 [system.runt...
复制代码 代码如下:
#region 获取windows桌面背景
[system.runtime.interopservices.dllimport("user32.dll", charset = system.runtime.interopservices.charset.auto, setlasterror = true)]
public static extern int systemparametersinfo(int uaction, int uparam, stringbuilder lpvparam, int fuwinini);
private const int spi_getdeskwallpaper = 0x0073;
#endregion
void windowsbtn_click(object sender, routedeventargs e)
{
//定义存储缓冲区大小
stringbuilder s = new stringbuilder(300);
//获取window 桌面背景图片地址,使用缓冲区
systemparametersinfo(spi_getdeskwallpaper, 300, s, 0);
//缓冲区中字符进行转换
string wallpaper_path = s.tostring(); //系统桌面背景图片路径
}
调用windows api获取
使用的时候需要注意stringbuilder的大小不能小于255,因为windows的路径最大支持255,如果定义过小...
如果当前系统桌面无背景或为纯色则返回空.