C#修改桌面背景

Change desktop background in C#

我尝试使用 C# 更改背景。示例:

[DllImport("user32.dll", CharSet = CharSet.Auto)]
    private static extern Int32 SystemParametersInfo(UInt32 uiAction, UInt32
    uiParam, String pvParam, UInt32 fWinIni);
    private static UInt32 SPI_SETDESKWALLPAPER = 20;
    private static UInt32 SPIF_UPDATEINIFILE = 0x1;

然后

  SystemParametersInfo(SPI_SETDESKWALLPAPER, 1, @"C:\background.bmp", SPIF_UPDATEINIFILE);
                            }

但是没有用...求助?

pvParam 应该是本地文件。它不适用于 urls...

首先下载图片,然后将其本地路径提供给SystemParametersInfo方法。

var filename = "4.jpg";
new WebClient().DownloadFile("http://www.scottgames.com/4.jpg", filename);
SystemParametersInfo(SPI_SETDESKWALLPAPER, 1, filename, SPIF_UPDATEINIFILE);