В. Как просмотреть информацию о системных мониторах?

О. Класс Win32_DesktopMonitor, доступный через Windows Management Instrumentation (WMI), содержит информацию о системных мониторах. Класс документирован по адресу Win32_Desktop Class.

Следующий WMI-сценарий (showmonitors.vbs) составляет список всех подключенных мониторов в сети.

strComputer = "."
Set WshShell = WScript.CreateObject("WScript.Shell")
Dim WshShell
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!" & strComputer & " ootcimv2")
Set colMonitors = objWMIService.ExecQuery ("выберите * из win32_DesktopMonitor где Availability = 3")
For Each objMonitor in colMonitors
wscript.echo "Название " & objMonitor.Caption
wscript.echo "Разрешение " & objMonitor.ScreenWidth & " x " & objMonitor.ScreenHeight
wscript.echo "Availability " & objMonitor.Availability
Next

Обратите внимание, что значение availability указывает состояние монитора. В моем примере монитор 3 задействован в работе (другие значения документированы в ранее упоминавшейся статье MSDN).

Для запуска сценария введите команду

D:Temp>cscript showmonitors.vbs

Результаты следующие:

Microsoft (R) Windows Script Host Version 5.7
Copyright (C) Microsoft Corporation. All rights reserved.
Название Dell 2407WFP (Digital)
Разрешение 1920 x 1200
Availability 3