
WMI можно использовать для обнаружения таких вещей, как:
- Масштабирование текста
- Разрешение экрана
- Конфигурация/расположение нескольких мониторов
?
Я понимаю, Win32_DesktopMonitor
но, похоже, это не дает мне никакой информации.
решение1
Масштабирование текста:Хранится в этих двух значениях реестра пользователей:
# AllUsers setting, which shows as (default)
(Get-ItemProperty "HKCU:\Control Panel\Desktop\WindowMetrics").AppliedDPI
# User's current scaling settings for each monitor
(Get-ItemProperty "HKCU:\Control Panel\Desktop\PerMonitorSettings\*").DpiValue
# AppliedDPI shows the "Default" scaling setting on a system level like:
96 : 100%
120 : 125%
144 : 150%
192 : 200% # (my default)
# DpiValue shows how many steps up or down *from Default* the current user's scaling setting is.
# For example on my machine:
DpiValue : 2 # +2 = 250%
DpiValue : 0 # +0 = 200% (default)
DpiValue : 4294967294 # -1 = 150%
DpiValue : 4294967292 # -3 = 100%
Расположение монитора:
Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.Screen]::AllScreens
Разрешения экрана:Используйте AllScreens
перечисление выше или одно из этих:
Get-CimInstance Win32_DesktopMonitor | select Name,Screen*
Get-CimInstance CIM_VideoController | Select Name,Current*