欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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,如果定义过小...

如果当前系统桌面无背景或为纯色则返回空.