Solved

Change Screen Resolution and Refresh rate

Posted on 2007-11-17
3
488 Views
Last Modified: 2012-05-05
Hi everyone , what is the simplest code for reetrive and change the screen resolution and screen refresh rate , Thanx a lot
0
Comment
Question by:ashraf_t
3 Comments
 
LVL 14

Expert Comment

by:Matti
ID: 20303924
Hi!

Try this.
I'm not sure do the frequency change work in every case, also there might be improper values to the display so be careful whit that.

Matti
Private 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

    Const CCDEVICENAME = 32

    Const CCFORMNAME = 32

    Const DM_PELSWIDTH = &H80000

    Const DM_PELSHEIGHT = &H100000
 
 

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 Integer

    dmPelsWidth As Long

    dmPelsHeight As Long

    dmDisplayFlags As Long

    dmDisplayFrequency As Long

    End Type
 

Sub ChangeRes(iWidth As Single, iHeight As Single, frequency As Long)

    Dim DevM As DEVMODE

    Dim a As Boolean

    Dim i&

    i = 0

    Do

        a = EnumDisplaySettings(0&, i&, DevM)

        i = i + 1

    Loop Until (a = False)

    Dim b&

    DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT

    DevM.dmPelsWidth = iWidth

    DevM.dmPelsHeight = iHeight

    DevM.dmDisplayFrequency = frequency

    b = ChangeDisplaySettings(DevM, 0)

End Sub

 'make the cal from this button

Private Sub Command1_Click()

Call ChangeRes(1280, 1024, 70)

End Sub

Open in new window

0
 
LVL 5

Expert Comment

by:administradores
ID: 20303963
0
 
LVL 12

Accepted Solution

by:
Mortaza Doulaty earned 100 total points
ID: 20306898
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Article by: Martin
Here are a few simple, working, games that you can use as-is or as the basis for your own games. Tic-Tac-Toe This is one of the simplest of all games.   The game allows for a choice of who goes first and keeps track of the number of wins for…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…

914 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now