remplazamos el modulo Resolution por este
- Option Explicit
- Private Const CCDEVICENAME As Long = 32
- Private Const CCFORMNAME As Long = 32
- Private Const DM_BITSPERPEL As Long = &H40000
- Private Const DM_PELSWIDTH As Long = &H80000
- Private Const DM_PELSHEIGHT As Long = &H100000
- Private Const DM_DISPLAYFREQUENCY As Long = &H400000
- Private Const CDS_TEST As Long = &H4
- Private Const ENUM_CURRENT_SETTINGS As Long = -1
- Private Type typDevMODE
- 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
- dmUnusedPadding As Integer
- dmBitsPerPel As Integer
- dmPelsWidth As Long
- dmPelsHeight As Long
- dmDisplayFlags As Long
- dmDisplayFrequency As Long
- End Type
- Private oldResHeight As Long
- Private oldResWidth As Long
- Private oldDepth As Integer
- Private oldFrequency As Long
- Private bNoResChange As Boolean
- Private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, lptypDevMode As Any) As Boolean
- Private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (lptypDevMode As Any, ByVal dwFlags As Long) As Long
- Public Sub SetResolution()
- Dim lRes As Long
- Dim MidevM As typDevMODE
- Dim CambiarResolucion As Boolean
- lRes = EnumDisplaySettings(0, ENUM_CURRENT_SETTINGS, MidevM)
- oldResWidth = Screen.Width \ Screen.TwipsPerPixelX
- oldResHeight = Screen.Height \ Screen.TwipsPerPixelY
- If NoRes Then
- CambiarResolucion = (oldResWidth < 800 Or oldResHeight < 600)
- Else
- CambiarResolucion = (oldResWidth <> 800 Or oldResHeight <> 600)
- End If
- If CambiarResolucion Then
- frmMain.WindowState = vbMaximized
- With MidevM
- oldDepth = .dmBitsPerPel
- oldFrequency = .dmDisplayFrequency
- .dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT Or DM_BITSPERPEL
- .dmPelsWidth = 800
- .dmPelsHeight = 600
- .dmBitsPerPel = 16
- End With
- lRes = ChangeDisplaySettings(MidevM, CDS_TEST)
- Else
- bNoResChange = True
- MidevM.dmFields = DM_BITSPERPEL
- MidevM.dmBitsPerPel = 16
- lRes = ChangeDisplaySettings(MidevM, CDS_TEST)
- frmMain.WindowState = vbNormal
- End If
- End Sub
- Public Sub ResetResolution()
- Dim typDevM As typDevMODE
- Dim lRes As Long
- If Not bNoResChange Then
- lRes = EnumDisplaySettings(0, ENUM_CURRENT_SETTINGS, typDevM)
- With typDevM
- .dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT Or DM_BITSPERPEL Or DM_DISPLAYFREQUENCY
- .dmPelsWidth = oldResWidth
- .dmPelsHeight = oldResHeight
- .dmBitsPerPel = oldDepth
- .dmDisplayFrequency = oldFrequency
- End With
- lRes = ChangeDisplaySettings(typDevM, CDS_TEST)
- Else
- lRes = EnumDisplaySettings(0, ENUM_CURRENT_SETTINGS, typDevM)
- With typDevM
- .dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT Or DM_BITSPERPEL Or DM_DISPLAYFREQUENCY
- .dmPelsWidth = oldResWidth
- .dmPelsHeight = oldResHeight
- .dmBitsPerPel = oldDepth
- .dmDisplayFrequency = oldFrequency
- End With
- lRes = ChangeDisplaySettings(typDevM, CDS_TEST)
- End If
- End Sub
En el Sub Main buscamos y remplazamos
- Call Resolution.SetResolution
Por
- If MsgBox("Quieres cambiar la resolucion a 800x600?", vbYesNo, "Resolucion") = vbYes Then
- Call Resolution.SetResolution
- End If
Ahora buscamos en el
- Public Sub CloseClient()
- Call Resolution.ResetResolution
y lo remplazamos por esto
- If NoRes = 0 Then Call Resolution.ResetResolution
Saludos eso es todo es simplemente que al iniciar el cliente salte un msgbox para elegir si ejecutar en pantalla completa o en pantalla pequeña y también sirve para evitar que al cerrar el cliente en pc que tengan windows 7 salte el famoso error Blur Screen ( gracias a Germax por aportarlo) bueno eso es todo es una boludes pero espero que les sirva





919![Dragon Ancestral [5] Dragon Ancestral [5]](./images/ranks/Rango34.gif)

![Oraculo [4] Oraculo [4]](./images/ranks/Rango28.gif)


![Oraculo [5] Oraculo [5]](./images/ranks/Rango29.gif)



![Dragon Ancestral [1] Dragon Ancestral [1]](./images/ranks/Rango30.gif)
