2010-01-22 64 views
4

我正在嘗試編寫一個簡單的程序來更改我的桌面壁紙。 我正在使用下載的jpeg文件,我想將其轉換爲代碼。 問題是位圖需要24位才能顯示。 我該怎麼做? 在此先感謝。使用Jpeg文件更改桌面壁紙

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

    public static void Main() 
    { 
     Bitmap wallbm = new Bitmap("pic.jpg"); 
     wallbm.Save("pic.bmp"); 
     SystemParametersInfo(20, 0, "pic.bmp", 0x01 | 0x02); 
    } 
} 
+0

這顯然是對某些版本的Windows的基礎上的代碼,但你可能想澄清,並且將其標記爲這樣的。它會幫助更熟悉這個主題的人找到並回答你的問題。 – Dolph 2010-01-22 18:28:51

回答

2

我無法讓克隆工作出於某種原因。 我可以通過使用下面的代碼來得到它的試驗和錯誤的工作:

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

    public static void Main() 
    { 
     Bitmap bm = new Bitmap(Image.FromFile("pic.jpg")); 
     bm.Save("pic.bmp", ImageFormat.Bmp); 
     SystemParametersInfo(20, 0, "pic.bmp", 0x01 | 0x02); 
    } 
}