• Domingo 22 de Diciembre de 2024, 17:19

Autor Tema:  Cambiar Resolucion Pantalla En Xp  (Leído 1352 veces)

saroaes21

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Cambiar Resolucion Pantalla En Xp
« en: Domingo 27 de Marzo de 2005, 13:44 »
0
Hola, mi duda es cómo puedo hacer para que se cambie la resolucion de la pantalla en Windows XP mediante un programa VB6.0, lo he conseguido cambiar en el 98 pero al pasarlo al XP no funciona, alguien me puede ayudar?? Si os sirve el código escribirme a brodrigueza@iberdrola.es y os lo mando es un programa chulo.
Gracias de antemano por vuestra ayuda.
Un saludo

_vgt_

  • Miembro activo
  • **
  • Mensajes: 76
    • Ver Perfil
Re: Cambiar Resolucion Pantalla En Xp
« Respuesta #1 en: Domingo 27 de Marzo de 2005, 21:09 »
0
esta es facil!!, aki te pongo la funcion k yo utilizo siempre: comprobado k funciona:
Código: Text
  1.  
  2. 'CAMBIO DE RESOLUCION
  3. Private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, lpDevMode As Any) As Boolean
  4. Private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwflags As Long) As Long
  5.  
  6. Const CCDEVICENAME = 32
  7. Const CCFORMNAME = 32
  8. Const DM_PELSWIDTH = &H80000
  9. Const DM_PELSHEIGHT = &H100000
  10.  
  11. Private Type DEVMODE
  12.       dmDeviceName As String * CCDEVICENAME
  13.       dmSpecVersion As Integer
  14.       dmDriverVersion As Integer
  15.       dmSize As Integer
  16.       dmDriverExtra As Integer
  17.       dmFields As Long
  18.       dmOrientation As Integer
  19.       dmPaperSize As Integer
  20.       dmPaperLength As Integer
  21.       dmPaperWidth As Integer
  22.       dmScale As Integer
  23.       dmCopies As Integer
  24.       dmDefaultSource As Integer
  25.       dmPrintQuality As Integer
  26.       dmColor As Integer
  27.       dmDuplex As Integer
  28.       dmYResolution As Integer
  29.       dmTTOption As Integer
  30.       dmCollate As Integer
  31.       dmFormName As String * CCFORMNAME '20
  32.       dmUnusedPadding As Integer
  33.       dmBitsPerPel As Integer
  34.       dmPelsWidth As Long
  35.       dmPelsHeight As Long
  36.       dmDisplayFlags As Long
  37.       dmDisplayFrequency As Long
  38. End Type
  39.  
  40. Dim DevM As DEVMODE
  41.  
  42. Function CambiaResolucion(BitPorPixel As Integer, Ancho As Integer, Alto As Integer) As Boolean
  43.  
  44. 'Parámetros :
  45. 'BitPorPixel : Nº de bits de color
  46. ' 4 - 16 colores, 8 - 256 colores
  47. ' 16 - 65.000 colores, 32 - 16 M de colores
  48. 'Ancho : Nº de pixels de ancho
  49. 'Alto : Nº de pixels de alto
  50.  
  51. Dim a&
  52. a = EnumDisplaySettings(0&, 0&, DevM)
  53. DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT
  54. DevM.dmBitsPerPel = BitPorPixel
  55. DevM.dmPelsWidth = Ancho
  56. DevM.dmPelsHeight = Alto
  57. a = ChangeDisplaySettings(DevM, 0)
  58. If a = 0 Then
  59.     CambiaResolucion = True
  60. Else
  61.     CambiaResolucion = False
  62. End If
  63.  
  64. End Function
  65.  
  66.  

La llamada es cantidad de facil, te la pongo

Código: Text
  1.  
  2. Dim a&
  3.  
  4. 'Llamada a la función para cambiar la resolución
  5. a = CambiaResolucion(16 - 65#, 800, 600)
  6.  
  7.  

y ya esta la resolucion cambiada  :hola:

TalegoZ gente!!
...solo los perdedores alegan haber hexo lo k han podido...

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Cambiar Resolucion Pantalla En Xp
« Respuesta #2 en: Domingo 27 de Marzo de 2005, 22:25 »
0
También puedes revisar mi mensaje en la siguiente discusión del foro:

http://foros.solocodigo.com/index.php?show...t=0&#entry37880

 :)