¿Hay alguna manera de cambiar el fondo de pantalla de Windows utilizando alguna característica nueva en .NET 4?¿Cambiar el fondo de pantalla de Windows con .NET 4.0?
Respuesta
Puede utilizar SystemParametersInfo para establecer el fondo de escritorio. Esto debería funcionar de manera consistente en todas las versiones de Windows en las que se puede ejecutar su aplicación, sin embargo, requerirá alguna interoperabilidad.
Las siguientes declaraciones de interoperabilidad son lo que necesita
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);
que puede ser utilizado como este para cambiar el fondo de escritorio
SystemParametersInfo(
SPI_SETDESKWALLPAPER, 0, "filename.bmp",
SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
Configura el fondo de pantalla actualizando el registro. Aquí hay un artículo de 2006 que explica cómo hacerlo. Los detalles pueden haber cambiado con las versiones más nuevas de Windows, pero el concepto debería ser el mismo. La versión del marco debe ser irrelevante.
http://blogs.msdn.com/coding4fun/archive/2006/10/31/912569.aspx
Tenga en cuenta que SystemParametersInfo incluso de vuelta verdad, si el archivo especificado ¡no existe! (en Windows 8 al menos)
Además, debe indicar la ruta completa al archivo, no solo una ruta relativa.
También en Windows 7 y posteriores, esto creará un nuevo tema y desactivará la reproducción de imágenes, por supuesto.
- 1. Cambiar el fondo de pantalla del escritorio con el código en .NET
- 2. Cambiar el color de fondo de DateTimePicker en .NET
- 3. Cambiar el fondo de pantalla mediante programación usando C++ y Windows api
- 4. Cambiar el fondo de pantalla con un archivo por lotes, al cerrar el programa. ¿Posible?
- 5. Cambiar el fondo de pantalla en Linux programáticamente
- 6. PerformanceCounters en .NET 4.0 y Windows 7
- 7. log4net con .NET 4.0
- 8. Desarrollo para .NET 4.0 (Windows XP) con Visual Studio 2012
- 9. Dibujando en el fondo del escritorio como reemplazo de fondo de pantalla (Windows/C#)
- 10. ¿Es posible cambiar programáticamente el protector de pantalla y/o fondo de escritorio de un usuario?
- 11. Instalador NSIS con .NET 4.0
- 12. .net 4.0 Tasa de adopción
- 13. ¿Cómo puedo cambiar el fondo de mi escritorio con python?
- 14. .net 4.0 sigue siendo compatible con asmx
- 15. Serio problema con ILMerge y .NET 4.0
- 16. Sharepoint 2010 Fundación con .Net Framework 4.0
- 17. Cambiar el fondo de la pantalla de bloqueo ¿el audio controla el texto?
- 18. Permcalc.exe para .NET 4.0
- 19. Svcutil.exe para .NET 4.0?
- 20. No se puede conectar con el proceso en .NET 4.0
- 21. Aplicación de Android para cambiar el fondo de pantalla a intervalos regulares usando el temporizador
- 22. Control de crucero .NET 4.0 MSBUILD Logger
- 23. Cambiar la imagen de fondo con el botón de opción
- 24. Instalar .NET 4.0 dll en el GAC
- 25. ¿Funciona .net 4.5 al lado de .NET 4.0?
- 26. Cambiar el color de fondo del cuadro de lista deshabilitado en el tema clásico de Windows
- 27. Cambiar la posición de fondo con jQuery
- 28. .NET 4.0 Implementación de OutputCacheProvider
- 29. Cómo apuntar .NET 4.0 bajo mono
- 30. ¿Dónde está GACUTIL para .NET Framework 4.0 en Windows 7?
Gran respuesta. Realmente útil gracias! –