Visual Basic - Configuracion de Pantalla

Life is soft - evento anual de software empresarial
 
Vista:

Configuracion de Pantalla

Publicado por Roberto UJ (65 intervenciones) el 14/09/2005 04:15:56
HOLA PROGRAMADORES , TENGO UNA PEKEñA INKIETUD, NESECITO SABER COMO CONFIGURO LA PANTALLA DE MI MONITOR A "X" RESULUCION CUANDO INICIO MI PROGRAMA, LO KE PASA ES KE PUES LO HICE CON UNA RESOLUCION Y SI LO CORRO EN OTRA COMPUTADORA NO SE VE IGUAL ENTONCES SE KE SE PUEDE CAMBIAR LA RESOLUCION DE MI PANTALLA CADA VEZ KE CORRO MI APLICACION PERO LA VERDAD NO TENGO NI IDEA DE COMO HACER ESTO, SI ALGUIEN CON MAS CONOCIMIENTOS KE YO ME PUDIERA AYUDAR SE LO AGRADECERIA MUCHO,
DE TODOS MODOS MUCHAS GRACIAS DE ANTEMANO POR LEER MI PREGUNTA Y LES MADON SALUD2

ATTE.
ROBERTO URITA JIMENEZ
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como cambiar

Publicado por Zoto (41 intervenciones) el 14/09/2005 15:59:33
Hola, Roberto.

A continuación te muestro el código para realizar lo que solicitas.

Cópialo en un módulo y, el ejemplo de uso, podrás utilizarlo en cualquier parte del código:

‘Este código muestra como cambiar la resolución del monitor mediante código en Visual Basic

‘La función principal usada se llama Cambia resolución y, sus parámetros no tienen problema (se le pasan los bits por píxel, el ancho y el alto de la resolución y ella misma se encarga de realizar la operación (con ayuda de APIs, algunas constantes y un tipo propio.

‘Si se realiza correctamente, devuelve True.
‘Contrariamente devuelve False.

‘------------------------
‘código módulo
‘------------------------

Public Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, lpDevMode As Any) As Boolean
Private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwflags As Long) As Long

Public Const CCDEVICENAME = 32
Public Const CCFORMNAME = 32
Public Const DM_PELSWIDTH = &H80000
Public Const DM_PELSHEIGHT = &H100000

Public Type DEVMODE
dmDeviceName As String * CCDEVICENAME
dmSpecVersion As Integer
dmDriverVersion As Integer
dmSize As Integer
dmDriverExtra As Integer
dmFields As Long
dmOrientation As Integer
dmPaperSize As Integer
dmPaperLength As Integer
dmPaperWidth As Integer
dmScale As Integer
dmCopies As Integer
dmDefaultSource As Integer
dmPrintQuality As Integer
dmColor As Integer
dmDuplex As Integer
dmYResolution As Integer
dmTTOption As Integer
dmCollate As Integer
dmFormName As String * CCFORMNAME '20
dmUnusedPadding As Integer
dmBitsPerPel As Integer
dmPelsWidth As Long
dmPelsHeight As Long
dmDisplayFlags As Long
dmDisplayFrequency As Long
End Type

Public DevM As DEVMODE

Public Function CambiaResolucion(BitPorPixel As Integer, Ancho As Long, Alto As Long) As Boolean
Dim a&
a = EnumDisplaySettings(0&, 0&, DevM)
DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT
DevM.dmBitsPerPel = BitPorPixel
DevM.dmPelsWidth = Ancho
DevM.dmPelsHeight = Alto
a = ChangeDisplaySettings(DevM, 0)

If a = 0 Then
CambiaResolucion = True
Else
CambiaResolucion = False
End If
End Function

‘------------------------
‘código módulo
‘------------------------

‘Ejemplo de uso del código:

‘Para cambiar la resolución a, por ejemplo, 800x600 usa este código, simplemente:

Dim a As Boolean
a = CambiaResolucion(4, 800, 600)

If a Then
MsgBox “Resolución cambiada correctamente”
Else
MsgBox “Error al cambiar resolución”
End If

___________________________

Espero que este código sea lo que buscabas.
Si te da algún error (personalmente, a mi me funciona perfectamente) o si tienes alguna duda al respecto, comunícalo aquí.

Hasta otra,

Zoto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como cambiar

Publicado por Christopher (24 intervenciones) el 20/12/2005 19:30:44
Muchas gracias y perdona las moléstias. Me va perfecto. Merci
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

De nada

Publicado por Zoto (55 intervenciones) el 20/12/2005 21:28:08
De nada hombre...
Me alegro que te funcione el código, pues a Roberto (creador de este mismo hilo) le daba error -y no logré descubrir la causa...-

Hasta pronto.

Zoto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar