⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setdisp.bas

📁 用VB写的用于分辨率设置的程序,仅供学习用
💻 BAS
字号:
Attribute VB_Name = "Module1"
Option Explicit

Public Const CCHDEVICENAME = 32
Public Const CCHFORMNAME = 32
Public Const DM_PELSWIDTH = &H80000
Public Const DM_PELSHEIGHT = &H100000
Public Const DM_BITSPERPEL = &H40000

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

Declare Function lstrcpy& Lib "kernel32" Alias "lstrcpyA" (lpString1 As Any, lpString2 As Any)
Declare Function ChangeDisplaySettings Lib "User32" Alias "ChangeDisplaySettingsA" (ByVal lpDevMode As Long, ByVal dwflags As Long) As Long


'========================================================
' 函数: SetDisplayMode
'
' 功能: 设置屏幕分辨率
'
' 入口: Width           屏幕宽
'       Height          屏幕高
'       ColorDepth      屏幕色深
'
Function SetDisplayMode&(ByVal Width&, _
                         ByVal Height&, _
                         ByVal ColorDepth&)
'-------------------------------------------------------
    Dim NewDevMode As DEVMODE
    Dim pDevmode As Long
    
    With NewDevMode
        .dmSize = 122
        '
        If ColorDepth& = -1 Then
            .dmFields = DM_PELSWIDTH Or _
                        DM_PELSHEIGHT
        Else
            .dmFields = DM_PELSWIDTH Or _
                        DM_PELSHEIGHT Or _
                        DM_BITSPERPEL
        End If
        
        .dmPelsWidth = Width&
        .dmPelsHeight = Height&
    
        If ColorDepth& <> -1 Then
            .dmBitsPerPel = ColorDepth&
        End If
    End With
    
    pDevmode = lstrcpy(NewDevMode, NewDevMode)
    
    SetDisplayMode = ChangeDisplaySettings(pDevmode, 0)
'-------------------------------------------------------
End Function
'========================================================


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -