高分- VB中如何获取显示器尺寸?
发布网友
发布时间:2022-06-08 15:15
我来回答
共4个回答
热心网友
时间:2024-11-01 00:03
VB中获取显示器尺寸
将窗体 属性 ScaleMode 设为 5: 英寸
这是显示的属性 ScaleWidth 是英寸
再由 API 调用 获取 窗体客户区 长宽,屏幕长宽
可以换算出 屏幕长宽 的英寸数
显示器尺寸就是对角线的长度
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetClientRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Private Sub Command1_Click()
Dim h As Long
Dim rwindow As RECT
Dim rdesk As RECT
Dim l As Single
Dim t As Single
h = GetDesktopWindow
GetWindowRect h, rdesk
GetClientRect Me.hwnd, rwindow
Me.ScaleMode = 5'英寸
l = Me.ScaleWidth / rwindow.Right * rdesk.Right
t = Me.ScaleHeight / rwindow.Bottom * rdesk.Bottom
Print Sqr(l * l + t * t)
End Sub
热心网友
时间:2024-11-01 00:03
这个没有办法用VB来获取的,显示器的物理尺寸有很多规格,没有统一的尺寸,要想获取,只有阅读显示器的相关资料,或者直接用尺子量。
用API通过DPI算出来的是逻辑尺寸,并不是实际尺寸,希望楼主不要走弯路。
热心网友
时间:2024-11-01 00:04
用screenheight和screenwidth两个属性就可以获取屏幕的大小了
热心网友
时间:2024-11-01 00:04
在VB中是不能获取当前显示器尺寸的。