2
我正在製作一個簡單的壁紙更換器。它更改壁紙時,但我不能改變壁紙的模式。我試過這樣的東西,但它不工作:SC#更改桌面模式
SystemParametersInfo(SPI_SETDESKPATTERN, 0, "Center",
SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);
可以some1請給我看設置壁紙圖案的正確方法?
我正在製作一個簡單的壁紙更換器。它更改壁紙時,但我不能改變壁紙的模式。我試過這樣的東西,但它不工作:SC#更改桌面模式
SystemParametersInfo(SPI_SETDESKPATTERN, 0, "Center",
SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);
可以some1請給我看設置壁紙圖案的正確方法?
我想你指的是中心/ streched /瓷磚設置,這將是第二個過去值INT 1-3
[DllImport("user32.dll", CharSet = CharSet.Auto)]
private static extern Int32 SystemParametersInfo(UInt32 action, UInt32 uParam, String vParam, UInt32 winIni);
private static readonly UInt32 SPI_SETDESKWALLPAPER = 0x14;
private static readonly UInt32 SPIF_UPDATEINIFILE = 0x01;
private static readonly UInt32 SPIF_SENDWININICHANGE = 0x02;
private void SetWallpaper(string path)
{
if (File.Exists(path))
{
Image imgInFile = Image.FromFile(path);
try
{
imgInFile.Save(SaveFile, ImageFormat.Bmp);
SystemParametersInfo(SPI_SETDESKWALLPAPER, 3, SaveFile, SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);
}
catch
{
MessageBox.Show("error in setting the wallpaper");
}
finally
{
imgInFile.Dispose();
}
}
}
奧茲,這可能有助於爲您發佈一些代碼,以便人們能看多遠你已經得到了,或者如果你的代碼中有任何潛在的問題 – 2009-05-31 16:55:08
它似乎我問錯了問題。我想沒有如何定位牆紙(中心,拉伸等),但setdeskpattern不是我所需要的。我發現現在如何做到這一點:) – Ozzy 2009-05-31 17:07:58