Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: OnLOL en 5 Julio 2009, 22:28 pm



Título: Cambiar fondo de escritorio
Publicado por: OnLOL en 5 Julio 2009, 22:28 pm
Hola, estoy intentando hacer una aplicacion que cambie el fondo do escritorio cada X cantidad de tiempo, los fondos estan listados en un listbox. pero el tema es que encontre este ejemplo:
Código:
Private 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

Private Sub Form_Load()
Dim fallo As Integer
fallo = SystemParametersInfo(20, 0, "C:\WINDOWS\FONDO.BMP", 0)
End Sub
El tema es que es solo BMP y yo quiero que funcionen los formatos mas conocidos( jpg, gif y bmp). Gracias adioos!


Título: Re: Cambiar fondo de escritorio
Publicado por: VonN en 6 Julio 2009, 04:33 am
La api que utilizas unicamente admite .bmp lamentablemente.


Título: Re: Cambiar fondo de escritorio
Publicado por: seba123neo en 6 Julio 2009, 04:44 am
si mal no estoy por mas que pongas como fondo de pantalla un jpg, el mismo windows lo cambia a bmp...eso lo podes ver viendo la carpeta donde esta guardado el wallpaper que tenes actualmente...windows lo guarda en una carpeta...fijate que esta en .bmp ...aunque originalmente hayas puesto un jpg. lo que podrias hacer es que al elegir el wallpaper jpg, lo guardes en una variable StdPicture al jpg y lo guardes al disco con Savepicture y pongas como wallaper ese .bmp que seria la misma imagen que el .jpg

saludos.


Título: Re: Cambiar fondo de escritorio
Publicado por: Darioxhcx en 6 Julio 2009, 10:56 am
la pasa a bmp windows
la copia a

C:\Documents and Settings\Darioxhcx\Configuración local\Datos de programa\Microsoft

Walpaper1.bmp se llama si no me ekivoco

clave de registro x si te sirve

HKEY_CURRENT_USER\Control Panel\Desktop]

leo lo habia echo en .bat...
capas  q despeus de cambiar todo.. necesite la emulacion de la tecla F5 sobre el escritorio... no se

un saludo


Título: Re: Cambiar fondo de escritorio
Publicado por: OnLOL en 6 Julio 2009, 17:57 pm
buenas, Hice lo que dijiste seba, y lo guarde en la carpeta que dijo dario. pero no anda, osea el walklpaper sobreescribe al viejo pero no se cambia, le doy F5 y tampoco. aca el codigo:
Código:
Private Sub Command1_Click()
Dim X As New StdPicture
Set X = LoadPicture("E:\Documents and Settings\Administrador\Mis docs\Mis imágenes\AW\1201279846571.jpg")
Set Picture1.Picture = X
SavePicture Picture1.Picture, "C:\Documents and Settings\Administrador\Configuración local\Datos de programa\Microsoft\Wallpaper1.bmp"



End Sub
no tengo ni la menor idea de por que no se camiba.


Título: Re: Cambiar fondo de escritorio
Publicado por: el_c0c0 en 6 Julio 2009, 19:15 pm
buenas, Hice lo que dijiste seba, y lo guarde en la carpeta que dijo dario. pero no anda, osea el walklpaper sobreescribe al viejo pero no se cambia, le doy F5 y tampoco. aca el codigo:
Código:
Private Sub Command1_Click()
Dim X As New StdPicture
Set X = LoadPicture("E:\Documents and Settings\Administrador\Mis docs\Mis imágenes\AW\1201279846571.jpg")
Set Picture1.Picture = X
SavePicture Picture1.Picture, "C:\Documents and Settings\Administrador\Configuración local\Datos de programa\Microsoft\Wallpaper1.bmp"



End Sub
no tengo ni la menor idea de por que no se camiba.

eso esta bien, pero es necesario que llames al Api que mencionaste en el primer post.-

saludos


Título: Re: Cambiar fondo de escritorio
Publicado por: OnLOL en 8 Julio 2009, 20:00 pm
Bien!! gracias gracias funciono! el tema ahora es que para guardarlo en esa carpeta tengo que usar la varialbe de sistema APPDATA y por lo que lei se usa asi

Código:
SavePicture Picture1.Picture, Environ("%APPDATA%") & "\Wallpaper1.bmp"

el problema es que no funciona. No me guarda la imagen en la carpeta que seria
C:\Documents and Settings\Administrador\Configuración local\Datos de programa\

ya se que no es la carpeta donde va el fondo de escritorio, pero no importa es de prueba


Título: Re: Cambiar fondo de escritorio
Publicado por: el_c0c0 en 8 Julio 2009, 20:39 pm
Bien!! gracias gracias funciono! el tema ahora es que para guardarlo en esa carpeta tengo que usar la varialbe de sistema APPDATA y por lo que lei se usa asi

Código:
SavePicture Picture1.Picture, Environ("%APPDATA%") & "\Wallpaper1.bmp"

el problema es que no funciona. No me guarda la imagen en la carpeta que seria
C:\Documents and Settings\Administrador\Configuración local\Datos de programa\

ya se que no es la carpeta donde va el fondo de escritorio, pero no importa es de prueba

Es Environ("APPDATA") sin los signos de porcentaje.

saludos


Título: Re: Cambiar fondo de escritorio
Publicado por: OnLOL en 8 Julio 2009, 20:46 pm
changos me confundi, es que %APPDATA% te lleva a:
C:\Documents and Settings\Administrador\Datos de programa
y necesitaba ir a:
C:\Documents and Settings\Administrador\Configuración local\Datos de programa\Microsoft\
damn, y depende del idioma del so y del usuario


Título: Re: Cambiar fondo de escritorio
Publicado por: OnLOL en 10 Julio 2009, 02:57 am
por favor muchachos, ayudenme con esto por que estoy trabado ahi, es lo unico que me falta