Aquí les pongo una captura del resultado final de mi aplicación.
Este programa esta destinado a personas que apenas conocen de informatica para que les ayude a ver las imágenes que tengan en su pc ademas de poder cambiarlas por el fondo del escritorio con un simple clic o pulsando intro ademas de pulsando el boton de cambiar fondo.
Para escribir este code me base en un ejemplo que encontre buscando por la web y adaptandolo a mi necesidad, aparte de la ayuda que me prestaron en este foro para resolver las dudas que me ivan surgiendo, y una vez terminado, aquí les dejo el code esperando que le sea util a alguien que comienza al igual que yo.
Code:
Código
Y sin mas que dar las gracias a todos los que me ayudaron me despido hasta otra ocacion.
Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long 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 Dim ruta As String Const SPIF_UPDATEINIFILE = &H1 Const SPI_SETDESKWALLPAPER = 20 Const SPI_SETDESKPATTERN = 21 Const SPIF_SENDWININICHANGE = &H2 Private Sub Check1_Click() Image1.Visible = Check2.Value End Sub Private Sub Command1_Click() Dim ruta As String If Right(File1.Path, 1) <> "" Then ruta = File1.Path & "\" & File1.FileName Else ruta = File1.Path & "\" & File1.FileName End If SavePicture LoadPicture(ruta), "c:\windows\Foto.BMP" ruta = "c:\windows\Foto.BMP" X = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0&, _ ruta, SPIF_UPDATEINIFILE Or _ SPIF_SENDWININICHANGE) End Sub Private Sub Command2_Click() Dim X As Long 'Para sacar el papel Tapiz se le envia una cadena vacia en lpvParam X = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "", SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE) End Sub Private Sub File1_Click() On Error Resume Next Dim ruta As String If Right(File1.Path, 1) <> "" Then ruta = File1.Path & "\" & File1.FileName Else ruta = File1.Path & "\" & File1.FileName End If Image1.Picture = LoadPicture(ruta) End Sub Private Sub File1_DBLCLICK() On Error Resume Next Dim ruta As String If Right(File1.Path, 1) <> "" Then ruta = File1.Path & "\" & File1.FileName Else ruta = File1.Path & "\" & File1.FileName End If SavePicture LoadPicture(ruta), "c:\windows\Foto.BMP" ruta = "c:\windows\Foto.BMP" X = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, _ ruta, SPIF_UPDATEINIFILE Or _ SPIF_SENDWININICHANGE) Image1.Picture = LoadPicture(ruta) End Sub Private Sub File1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then On Error Resume Next Dim ruta As String If Right(File1.Path, 1) = "\" Then ruta = File1.Path & File1.FileName Else ruta = File1.Path & "\" & File1.FileName End If SavePicture LoadPicture(ruta), "c:\windows\Foto.BMP" ruta = "c:\windows\Foto.BMP" X = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, _ ruta, SPIF_UPDATEINIFILE Or _ SPIF_SENDWININICHANGE) Image1.Picture = LoadPicture(ruta) End If End Sub Private Sub Form_KeyPress(KeyAscii As Integer) If KeyAscii = 27 Then End End If End Sub Private Sub Form_Resize() On Error Resume Next Move (Screen.Width - Width) \ 2, (Screen.Height - Height) \ 2 'Centra el formulario completamente End Sub Private Sub Dir1_Change() File1.Path = Dir1.Path Label1.Visible = File1.ListCount > 0 If Label1.Visible Then File1.ListIndex = 0 End If End Sub