Можно ли масштабировать текст и контролировать свойства с помощью WMI?

Можно ли масштабировать текст и контролировать свойства с помощью WMI?

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*

Связанный контент