Cambiar fondo de escritorio

Iniciado por OnLOL, 5 Julio 2009, 22:28 PM

0 Miembros y 2 Visitantes están viendo este tema.

OnLOL

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:

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!

VonN

La api que utilizas unicamente admite .bmp lamentablemente.



Se toma por necios a aquellos que dicen lo que todos pesamos

seba123neo

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.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

Darioxhcx

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

OnLOL

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:

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.

el_c0c0

Cita de: 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:

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
'-     coco
"Te voy a romper el orto"- Las hemorroides

OnLOL

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

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

el_c0c0

Cita de: 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

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
'-     coco
"Te voy a romper el orto"- Las hemorroides

OnLOL

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

OnLOL

por favor muchachos, ayudenme con esto por que estoy trabado ahi, es lo unico que me falta