怎样用VB来改变显示器的分辩率呀?

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/1527/1527360.xml?temp=.4397241
    你看看对你会不会有什么帮助,我没有试过通过它来修改,你可以试一下
      

  2.   

    其实提问前先搜索一下,许多问题就可自己解决了Private Declare Function lstrcpy _
    Lib "kernel32" Alias "lstrcpyA" _
    (lpString1 As Any, lpString2 As Any) _
    As Long
    Const CCHDEVICENAME = 32
    Const CCHFORMNAME = 32
    Private Type DEVMODE
    dmDeviceName As String * CCHDEVICENAME
    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 * CCHFORMNAME
    dmUnusedPadding As Integer
    dmBitsPerPel As Integer
    dmPelsWidth As Long
    dmPelsHeight As Long
    dmDisplayFlags As Long
    dmDisplayFrequency As Long
    End Type
    Private Declare Function _
    ChangeDisplaySettings Lib _
    "User32" Alias "ChangeDisplaySettingsA" (_
    ByVal lpDevMode As Long, _
    ByVal dwflags As Long) As Long
    '- 函数
    Public Function SetDisplayMode(Width As _
    Integer,Height As Integer, Color As _
    Integer) As Long
    Const DM_PELSWIDTH = &H80000
    Const DM_PELSHEIGHT = &H100000
    Const DM_BITSPERPEL = &H40000
    Dim NewDevMode As DEVMODE
    Dim pDevmode As Long
    With NewDevMode
    .dmSize = 122
    If Color = -1 Then
    .dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT
    Else
    .dmFields = DM_PELSWIDTH Or _
    DM_PELSHEIGHT Or DM_BITSPERPEL
    End If
    .dmPelsWidth = Width
    .dmPelsHeight = HeightIf Color <> -1 Then
    .dmBitsPerPel = Color
    End If
    End With
    pDevmode = lstrcpy(NewDevMode, NewDevMode)
    SetDisplayMode = ChangeDisplaySettings(pDevmode, 0)
    End Function
    例子调用:改变为 640x480x24位: 
    i = SetDisplayMode(640, 480, 24) 
    如果成功返回 0 。