Изменить Windows Wallpaper с помощью.NET 4.0?

Существует ли способ изменить обои Windows, использующие некоторую новую функцию в.NET 4?

5
задан Charlie Salts 22 May 2010 в 03:34
поделиться

2 ответа

Вы можете использовать SystemParametersInfo для установки обоев рабочего стола. Это должно работать согласованно во всех версиях окон, в которых может работать ваше приложение, однако потребует некоторого взаимодействия.

Следующие объявления взаимодействия - это то, что вам нужно.

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);

Которые можно использовать таким образом для изменения обоев рабочего стола

SystemParametersInfo(
  SPI_SETDESKWALLPAPER, 0, "filename.bmp", 
  SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
8
ответ дан 14 December 2019 в 01:03
поделиться

Вы устанавливаете обои, обновляя реестр. Вот статья 2006 года, в которой объясняется, как это сделать. Детали, возможно, изменились с более новыми версиями Windows, но концепция должна быть такой же. Версия фреймворка не должна иметь значения.

http://blogs.msdn.com/coding4fun/archive/2006/10/31/912569.aspx

1
ответ дан 14 December 2019 в 01:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: