Atlanta Custom Software Development 

 
   Search        Code/Page
 

User Login
Email

Password

 

Forgot the Password?
Services
» Web Development
» Maintenance
» Data Integration/BI
» Information Management
Programming
  Database
Automation
OS/Networking
Graphics
Links
Tools
» Regular Expr Tester
» Free Tools

ChangeScreenResolution - Change the current screen resolution

Total Hit ( 4139)

Rate this article:     Poor     Excellent 

 Submit Your Question/Comment about this article

Rating


 


Click here to copy the following block
Option Explicit

Const DM_BITSPERPEL As Long = &H40000
Const DM_PELSWIDTH As Long = &H80000
Const DM_PELSHEIGHT As Long = &H100000
Const CDS_FORCE As Long = &H80000000

Const CCDEVICENAME As Long = 32
Const CCFORMNAME As Long = 32

Private 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
  dmUnusedPadding As Integer
  dmBitsPerPel As Long
  dmPelsWidth As Long
  dmPelsHeight As Long
  dmDisplayFlags As Long
  dmDisplayFrequency As Long
End Type
Private Declare Function EnumDisplaySettings Lib "user32" Alias _
  "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, _
  ByVal modeIndex As Long, lpDevMode As Any) As Boolean
Private Declare Function ChangeDisplaySettings Lib "user32" Alias _
  "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwflags As Long) As Long

' change the screen resolution mode
'
' returns True if the requested resolution mode is among those
' supported by the display adapter (otherwise it doesn't even
' try to change the screen resolution)

Function ChangeScreenResolution(ByVal Width As Long, ByVal Height As Long, _
  ByVal NumColors As Long, Optional Frequency As Long) As Boolean
  Dim lpDevMode As DEVMODE
  Dim index As Long
  
  ' set the DEVMODE flags and structure size
  lpDevMode.dmSize = Len(lpDevMode)
  lpDevMode.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT Or DM_BITSPERPEL
  
  ' retrieve info on the Nth display mode, exit if no more
  Do While EnumDisplaySettings(0, index, lpDevMode) > 0
    ' check whether this is the mode we're looking for
    If lpDevMode.dmPelsWidth = Width And lpDevMode.dmPelsHeight = Height _
      And 2 ^ lpDevMode.dmBitsPerPel = NumColors Then
      ' check that the frequency is also the one we're looking for
      If Frequency = 0 Or Frequency = lpDevMode.dmDisplayFrequency Then
        ' try changing the resolution
        If ChangeDisplaySettings(lpDevMode, CDS_FORCE) = 0 Then
          ' zero means success
          ChangeScreenResolution = True
          Exit Do
        End If
      End If
    End If
    ' skip to next screen mode
    index = index + 1
  Loop

End Function


Submitted By : Nayan Patel  (Member Since : 5/26/2004 12:23:06 PM)

Job Description : He is the moderator of this site and currently working as an independent consultant. He works with VB.net/ASP.net, SQL Server and other MS technologies. He is MCSD.net, MCDBA and MCSE. In his free time he likes to watch funny movies and doing oil painting.
View all (893) submissions by this author  (Birth Date : 7/14/1981 )


Home   |  Comment   |  Contact Us   |  Privacy Policy   |  Terms & Conditions   |  BlogsZappySys

© 2008 BinaryWorld LLC. All rights reserved.