网络编程 
首页 > 网络编程 > 浏览文章

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

(编辑:jimmy 日期: 2025/12/27 浏览:3 次 )
复制代码 代码如下:
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
上一篇:浅析JSON序列化与反序列化
下一篇:C#实现Web文件上传的两种方法实例代码
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap