C# 設定桌布

    
using System.Runtime.InteropServices;


[DllImport("user32.dll", CharSet = CharSet.Auto)]
private static extern int SystemParametersInfo(int uAction, int uParam, string lpvParam, int fuWinIni);

const int SPI_SETDESKWALLPAPER = 0x0014;
const int SPIF_UPDATEINIFILE = 0x01;
const int SPIF_SENDCHANGE = 0x02;
    

使用:
    
string path = @"C:\Users\ruyut\Pictures\image.png";
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, path, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
    

桌布路徑

使用者自訂的桌面圖片會放在以下路徑中:
    
%AppData%\Microsoft\Windows\Themes
    

假設使用者名稱為 ruyut ,實際路徑就是:
    
C:\Users\ruyut\AppData\Roaming\Microsoft\Windows\Themes
    

預設桌布路徑

Windows 11 有內建一些桌布,這些桌布是放在:
    
%LOCALAPPDATA%\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets
    

假設使用者名稱為 ruyut ,實際路徑就是:
    
C:\Users\ruyut\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets
    

這些桌布通常不會有副檔名,手動加上 .jpg 就可以看到了

留言