在我的项目中,我需要确定显示器/屏幕的大小。我可以使用以下代码获得屏幕分辨率
X = fPixelsToTwips(GetSystemMetrics(SM_CXSCREEN), "X") '
Y = GetSystemMetrics(SM_CYSCREEN)
Run Code Online (Sandbox Code Playgroud)
这给了我正确的屏幕分辨率。但是我有一个 13.6 英寸的笔记本电脑屏幕,而我的朋友有一个 15.6 英寸的笔记本电脑屏幕。两者具有相同的屏幕分辨率 1366*768。但是屏幕大小不同。那么如何确定显示器的屏幕尺寸呢?这对我的项目非常重要。
您可以访问 WMIWmiMonitorBasicDisplayParams以获取有关您的显示器的一些信息。我使用 Windows 7 成功地使用此代码显示了两个显示器的对角线长度。
Option Explicit
Sub Test()
Dim WMIObject As Object
Dim WMIResult As Object
Dim WMIItem As Object
Set WMIObject = GetObject("winmgmts:\\.\root\WMI")
Set WMIResult = WMIObject.ExecQuery("Select * From WmiMonitorBasicDisplayParams")
Dim Diagonal As Double
Dim Width As Double
Dim Height As Double
Dim Counter As Integer
Counter = 1
For Each WMIItem In WMIResult
Width = WMIItem.MaxHorizontalImageSize / 2.54
Height = WMIItem.MaxVerticalImageSize / 2.54
Diagonal = Sqr((Height ^ 2) + (Width ^ 2))
MsgBox "Your monitor # " & Counter & " is approximiately " & Round(Diagonal, 2) & " inches diagonal"
Counter = Counter + 1
Next
End Sub
Run Code Online (Sandbox Code Playgroud)
其他一些可能对您有所帮助的参考资料。