谁知道如何改变当前分辨率只要改不要涉及别的问题!!!

解决方案 »

  1.   

    很好實現,我以前做過,不難,用API函數
      

  2.   

    函数功能:该函数把缺省显示设备的设置改变为由lpDevMode设定的图形模式,要改变一个特定显示设备的设置,请使用ChangeDisplaySettingEx函数。函数原型:LONG ChangeDisplaySettings (LPDEVMODE lpDevMode, DWORD dwflags);
      

  3.   

    Public Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwFlags As Long) As LongPublic 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'设置窗口尺寸为1024*768
    Public Function SetDispMode(Width As Integer, Height As Integer, color As Integer) As Long
        Dim DevM As DEVMODE             '将取得的讯息存放在 DevM
        Dim xxa, xxb, xxc, xxd As Long
        Call EnumDisplaySettings(0&, ENUM_CURRENT_SETTINGS, DevM)
        DevM.dmFields = DM_BITSPERPEL Or DM_PELSWIDTH Or DM_PELSHEIGHT Or DM_DISPLAYFLAGS Or DM_DISPLAYFREQUENCY
        DevM.dmPelsWidth = Width          '想要设定的屏幕宽度
        DevM.dmPelsHeight = Height        '想要设定的屏幕高度
        DevM.dmDisplayFrequency = DevM.dmDisplayFrequency      '想要设定的屏幕刷新率
        
        '我们不更改色板,因为一旦更改色板就必须重新开机!
        'DevM.dmBitsPerPel = GetDeviceCaps(Me.hdc, BITSPIXEL)
        DevM.dmBitsPerPel = color
        
        '以下这行指令会更改屏幕的分辨率
        Call ChangeDisplaySettings(DevM, CDS_UPDATEREGISTRY)
            
    End Function