Как получить размер монитора
В моем проекте мне нужно определить размер монитора / экрана. Я могу получить разрешение экрана, используя следующий код
X = fPixelsToTwips(GetSystemMetrics(SM_CXSCREEN), "X") '
Y = GetSystemMetrics(SM_CYSCREEN)
Это дает мне правильное разрешение экрана. Но у меня 13,6"экран ноутбука, а у моего друга 15,6" экран ноутбука. Оба имеют одинаковое разрешение экрана 1366*768. Но размер экрана другой. Так как же определить размер экрана монитора? Это очень важно для моего проекта.
1 ответ
Решение
Вы можете подключиться к WMI WmiMonitorBasicDisplayParams
чтобы получить некоторую информацию о вашем дисплее. Я успешно смог отобразить диагональную длину обоих дисплеев с помощью этого кода с помощью 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
Некоторые другие ссылки, которые могут вам помочь.