华域联盟 .Net VB.NET设置屏幕分辨率、颜色位数、刷新率 实例代码

VB.NET设置屏幕分辨率、颜色位数、刷新率 实例代码

复制代码 代码如下:

Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal nIndex As Long) As Long

Private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwflags As Long) As Long

Private Const CCDEVICENAME As Long = 32

Private Const CCFORMNAME As Long = 32

Private Const DM_BITSPERPEL As Long = &H40000

Private Const DM_PELSWIDTH As Long = &H80000

Private Const DM_PELSHEIGHT As Long = &H100000

Private Const DM_DISPLAYFLAGS As Long = &H200000

Private Const DM_DISPLAYFREQUENCY = &H400000

Private Const CDS_FORCE As Long = &H80000000

Private Const BITSPIXEL As Long = 12

Private Const HORZRES As Long = 8

Private Const VERTRES As Long = 10

Private Const VREFRESH = 116

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

Private Sub cmdChangeDesktopMode_Click()

    Dim DM As DEVMODE

    With DM

       .dmPelsWidth = CInt(txtNewWidth.Text)

       .dmPelsHeight = CInt(txtNewHeight.Text)

       .dmBitsPerPel = CInt(txtNewColor.Text)

       .dmDisplayFrequency = CInt(txtNewFreq.Text)

       .dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT Or DM_BITSPERPEL Or DM_DISPLAYFREQUENCY

       .dmSize = LenB(DM)

    End With

    If ChangeDisplaySettings(DM, CDS_FORCE) <> 0 Then

        MsgBox "错误!不支持此模式!"

    End If

End Sub

Private Sub Form_Load()

   txtOldWidth.Text = GetDeviceCaps(Me.hdc, HORZRES)

   txtOldHeight.Text = GetDeviceCaps(Me.hdc, VERTRES)

   txtOldColor.Text = GetDeviceCaps(Me.hdc, BITSPIXEL)

   txtOldFreq.Text = GetDeviceCaps(Me.hdc, VREFRESH)

End Sub

本文由 华域联盟 原创撰写:华域联盟 » VB.NET设置屏幕分辨率、颜色位数、刷新率 实例代码

转载请保留出处和原文链接:https://www.cnhackhy.com/51219.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部