您可以使用SystemParametersInfo设置桌面墙纸.这应该在您的应用程序可以运行的所有Windows版本上一致地工作,但是需要一些互操作.
您需要以下互操作声明
public const int SPI_SETDESKWALLPAPER = 20;
public const int SPIF_UPDATEINIFILE = 1;
public const int SPIF_SENDCHANGE = 2;
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern int SystemParametersInfo(
int uAction, int uParam, string lpvParam, int fuWinIni);
Run Code Online (Sandbox Code Playgroud)
这可以用来改变桌面壁纸
SystemParametersInfo(
SPI_SETDESKWALLPAPER, 0, "filename.bmp",
SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
Run Code Online (Sandbox Code Playgroud)