加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在VB6中检测显示器的分辨率?

发布时间:2020-12-17 07:18:00 所属栏目:百科 来源:网络整理
导读:我使用以下代码: Private Sub Form_Load() ResWidth = Screen.Width Screen.TwipsPerPixelX ResHeight = Screen.Height Screen.TwipsPerPixelY ScreenRes = ResWidth "x" ResHeight MsgBox (ScreenRes)End Sub 还有其他几个类似的代码我用Google搜索过.
我使用以下代码:

Private Sub Form_Load()
    ResWidth = Screen.Width  Screen.TwipsPerPixelX
    ResHeight = Screen.Height  Screen.TwipsPerPixelY
    ScreenRes = ResWidth & "x" & ResHeight
    MsgBox (ScreenRes)
End Sub

还有其他几个类似的代码我用Google搜索过.问题是,我总是得到一个消息框说我的分辨率是1200×1200,虽然我的实际分辨率是1920×1200.为什么我的成绩不好?

解决方法

不确定为什么不起作用,但您可以使用Windows API.

Private Declare Function GetSystemMetrics Lib "user32" _
    (ByVal nIndex As Long) As Long

然后,当您需要屏幕宽度和高度时,请定义以下常量:

Private Const SM_CXSCREEN = 0
Private Const SM_CYSCREEN = 1

然后,您可以在任何需要的地方使用GetSystemMetrics.如果将声明和常量添加到模块(.BAS)更有意义,那么只需声明声明和常量.

Dim width as Long,height as Long
width = GetSystemMetrics(SM_CXSCREEN)
height = GetSystemMetrics(SM_CYSCREEN)

GetSystemMetrics on Microsoft Support

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读