Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: Zeigon en 03 de Marzo de 2003, 08:53:49 PM

Título: donde se guarda cual es el fondo de pantalla en w2000?
Publicado por: Zeigon en 03 de Marzo de 2003, 08:53:49 PM
                                pues eso, donde se guarda, q imagen se pone como fondo? es algún .ini o algun otro archivo perdido en la carpeta de windows? :?:

es q haciendo un programilla para cambiar el fondo, si lo hago llendo a la ruta en el registro, me pide confirmación para editar el registro, y preferiría hacerlo de un modo más transparente.

si es algun archivo bien, pero si sabeis la forma de cambiarlo en el registro sin que pida confirmación, pues tb.

gracias                                
Título: donde se guarda cual es el fondo de pantalla en w2000?
Publicado por: Zaelsius en 04 de Marzo de 2003, 03:27:18 PM
Me temo que la única manera de hacerlo es modificando el registro.

¿A qué te refieres con eso de que te pide confirmación?¿Te refieres a cuando lo haces manualmente con el regedit?
Título: donde se guarda cual es el fondo de pantalla en w2000?
Publicado por: Zeigon en 04 de Marzo de 2003, 06:20:00 PM
                                me refiero a q si pones algo en el registro, con un tipico archivo .reg, te pide q si esta seguro de q quiere introducir la informacion en el registro, y luego te sale el cuadro de informacion introducida correctamente y esas cosas.

sabeis alguna forma de cambiar el registro pero no de esta forma, q lo haga sin pedir permiso ni nada, vamos, q lo haga sin q se entere el usuario. por ejemplo el programa webshots, hace justo esto de cambiar el fondo solo, supongo q editara el registro, pero no te enteras.

espero q se entienda a lo q me refiero. :jaja:

regracias  :D                                
Título: donde se guarda cual es el fondo de pantalla en w2000?
Publicado por: Juan Mellado en 04 de Marzo de 2003, 09:08:00 PM
                                Lo puedes hacer por código con la función SystemParametersInfo de Win32.

Algo como esto:



#include <windows.h>



int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)

{

   SystemParametersInfo(SPI_SETDESKWALLPAPER,

                        0,

                        "c:fondosfondo01.bmp",

                        SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);

   return(1);

}



Cambia el tercer parámetro ("c:fondosfondo01.bmp") por la ruta a la imagen que quieras usar de fondo. También lo puedes pasar como parámetro, etc, etc, etc...

Espero te sirva.
Saludos                                
Título: donde se guarda cual es el fondo de pantalla en w2000?
Publicado por: Zeigon en 05 de Marzo de 2003, 06:46:29 PM
                                :jaja:  error mio, auto-nota:
NO ME VOLVERE A OLVIDAR DE PONER EL LENGUAJE AL QUE ME REFIERO,NO ME VOLVERE A OLVIDAR DE PONER EL LENGUAJE AL QUE ME REFIERO,NO ME VOLVERE A OLVIDAR DE PONER EL LENGUAJE AL QUE ME REFIERO,NO ME VOLVERE A OLVIDAR DE PONER EL LENGUAJE AL QUE ME REFIERO  :oops:

q era a todo esto, VBasic NET, q supongo q será mas o menos lo mismo q con otros VBasic.


sorry, si alguien lo sabe con este lenguaje lo agradeceré más q la vez anterior  :jaja:

un saludo

nota: no debería ser lo de especificar el entorno, una norma del foro ;) ?                                
Título: donde se guarda cual es el fondo de pantalla en w2000?
Publicado por: synchrnzr en 05 de Marzo de 2003, 06:56:16 PM
                                Esta interesante ese SystemParametersInfo() ^_^

sync                                
Título: donde se guarda cual es el fondo de pantalla en w2000?
Publicado por: Juan Mellado en 05 de Marzo de 2003, 08:51:50 PM
                                :loco:

En Visual Basic (sin .NET) sería algo así:



Declare Function SystemParametersInfo _

Lib "user32" _

Alias "SystemParametersInfoA" _

(ByVal uAction As Long, _

ByVal uParam As Long, _

ByVal lpvParam As Any, _

ByVal fuWinIni As Long) As Long



Const SPI_SETDESKWALLPAPER = 20

Const SPIF_SENDWININICHANGE = 2

Const SPIF_UPDATEINIFILE = 1



Sub SetWallpaper()

   LTemp = SystemParametersInfo( _

   SPI_SETDESKWALLPAPER, _

   0, _

   "c:fondosfondo01.bmp", _

   SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE)

End Sub



En la versión .NET me imagino que será muy parecida. No tengo compilador así que prefiero no especular. Mirate la ayuda del .NET Framework SDK acerca de la creación de prototipos en código administrado.

Saludos                                
Título: donde se guarda cual es el fondo de pantalla en w2000?
Publicado por: Zeigon en 07 de Marzo de 2003, 03:16:34 PM
                                gracias.

lo del .NET ya lo miraré como pasarlo, sino siempre me queda mi profesora de .NET q seguro q le suena :P