elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Visor de imagenes y cambiador de fondo (mi codigo)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Visor de imagenes y cambiador de fondo (mi codigo)  (Leído 2,303 veces)
pedraosone

Desconectado Desconectado

Mensajes: 90


Ver Perfil
Visor de imagenes y cambiador de fondo (mi codigo)
« en: 30 Julio 2009, 21:55 pm »

Hola a todos, una vez mas les escribo aunque en esta ocacion no es para pedirles su ayuda sino para mostrarles  mi ultimo proyecto ya terminado por si puedo contribuir a ayudar a alguien que al igual que yo este comenzando a programar.
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
  1.  
  2. Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
  3. 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
  4. Dim ruta As String
  5. Const SPIF_UPDATEINIFILE = &H1
  6. Const SPI_SETDESKWALLPAPER = 20
  7. Const SPI_SETDESKPATTERN = 21
  8. Const SPIF_SENDWININICHANGE = &H2
  9.  
  10. Private Sub Check1_Click()
  11. Image1.Visible = Check2.Value
  12. End Sub
  13.  
  14. Private Sub Command1_Click()
  15. Dim ruta As String
  16. If Right(File1.Path, 1) <> "" Then
  17.  ruta = File1.Path & "\" & File1.FileName
  18. Else
  19.  ruta = File1.Path & "\" & File1.FileName
  20. End If
  21. SavePicture LoadPicture(ruta), "c:\windows\Foto.BMP"
  22. ruta = "c:\windows\Foto.BMP"
  23. X = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0&, _
  24.    ruta, SPIF_UPDATEINIFILE Or _
  25.    SPIF_SENDWININICHANGE)
  26. End Sub
  27.  
  28. Private Sub Command2_Click()
  29. Dim X As Long
  30.    'Para sacar el papel Tapiz se le envia una cadena vacia en lpvParam
  31.    X = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "", SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE)
  32. End Sub
  33.  
  34. Private Sub File1_Click()
  35. On Error Resume Next
  36. Dim ruta As String
  37. If Right(File1.Path, 1) <> "" Then
  38.  ruta = File1.Path & "\" & File1.FileName
  39. Else
  40.  ruta = File1.Path & "\" & File1.FileName
  41. End If
  42. Image1.Picture = LoadPicture(ruta)
  43. End Sub
  44. Private Sub File1_DBLCLICK()
  45. On Error Resume Next
  46. Dim ruta As String
  47. If Right(File1.Path, 1) <> "" Then
  48.  ruta = File1.Path & "\" & File1.FileName
  49. Else
  50.  ruta = File1.Path & "\" & File1.FileName
  51. End If
  52. SavePicture LoadPicture(ruta), "c:\windows\Foto.BMP"
  53. ruta = "c:\windows\Foto.BMP"
  54. X = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, _
  55.    ruta, SPIF_UPDATEINIFILE Or _
  56.    SPIF_SENDWININICHANGE)
  57. Image1.Picture = LoadPicture(ruta)
  58. End Sub
  59.  
  60. Private Sub File1_KeyPress(KeyAscii As Integer)
  61. If KeyAscii = 13 Then
  62. On Error Resume Next
  63. Dim ruta As String
  64. If Right(File1.Path, 1) = "\" Then
  65.  ruta = File1.Path & File1.FileName
  66. Else
  67.  ruta = File1.Path & "\" & File1.FileName
  68. End If
  69. SavePicture LoadPicture(ruta), "c:\windows\Foto.BMP"
  70. ruta = "c:\windows\Foto.BMP"
  71. X = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, _
  72.    ruta, SPIF_UPDATEINIFILE Or _
  73.    SPIF_SENDWININICHANGE)
  74. Image1.Picture = LoadPicture(ruta)
  75. End If
  76. End Sub
  77.  
  78. Private Sub Form_KeyPress(KeyAscii As Integer)
  79. If KeyAscii = 27 Then
  80. End
  81. End If
  82. End Sub
  83.  
  84. Private Sub Form_Resize()
  85. On Error Resume Next
  86. Move (Screen.Width - Width) \ 2, (Screen.Height - Height) \ 2 'Centra el formulario completamente
  87. End Sub
  88.  
  89. Private Sub Dir1_Change()
  90. File1.Path = Dir1.Path
  91. Label1.Visible = File1.ListCount > 0
  92. If Label1.Visible Then
  93. File1.ListIndex = 0
  94. End If
  95. End Sub
  96.  
Y sin mas que dar las gracias a todos los que me ayudaron  me despido hasta otra ocacion.


En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621


"No quiero creer, quiero saber" - Carl Sagan


Ver Perfil WWW
Re: Visor de imagenes y cambiador de fondo (mi codigo)
« Respuesta #1 en: 31 Julio 2009, 01:23 am »

Hola, esta la api GetWindowsDirectory pero sin embargo en el programa sacas la ruta relativamente poniendo "c:\windows..." ¿y que pasa si tengo disco D?...aparte hay un monton de duplicidad de codigo fuente...este codigo podria quedar a menos de la mitad de lo que es ahora...

saludos.


En línea

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
pedraosone

Desconectado Desconectado

Mensajes: 90


Ver Perfil
Re: Visor de imagenes y cambiador de fondo (mi codigo)
« Respuesta #2 en: 31 Julio 2009, 05:52 am »

hola nuevamente, yo la verdad que de apis se muy poco y esa la encontre en un ejemplo y despues de ver como funcionaba pues vi que me venia bien para mi proyecto y por eso la use, referente a la duplicidad del codigo tienes toda la razon, intentare ver la forma de crear una funcion y llamarla desde donde sea nesesario, en cuanto me sea posible me pondre a intentar reducir el codigo amigo
gracias por el comentario.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
transicion de imagenes de fondo
Desarrollo Web
basickdagger 3 3,555 Último mensaje 29 Julio 2011, 00:26 am
por basickdagger
C codigo para imagenes
Programación C/C++
mario1000 1 2,448 Último mensaje 24 Febrero 2013, 15:37 pm
por Anastacio
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines