Класс Win32_VideoController позволяет получить информацию о видеокарте, он происходит от класса CIM_PCVideoController. Win32_VideoController является крупнейшим видео-классов, так как содержит в своем составе 59 свойств, методов у него нет.
Как и для большинства классов, ключевым свойством класса Win32_VideoController является DeviceID. Сам класс предоставляет провайдер подсистемы Win32, связанные файлы — Cimwin32.mof и Cimwin32.dll, пространство имен rootCIMV2.
Если открыть утилиту CIM Studio, то на вкладке Associations можно просмотреть ассоциативные связи.
Видим, что Win32_VideoController связан с CIM_VideoControllerResolution посредством ассоциативного класса Win32_VideoSettings. Аналогично, можно использовать утилиту командной строки – WMIC, для просмотра ассоциативных связей.
Просто введите команду:
WMIC CLASS Win32_VideoController ASSOC |
Если в утилите WMI CIM Studio нажать кнопку Instances, то можно получить список экземпляров класса, двойной щелчок по имени экземпляра позволяет перейти к просмотру его параметров, а в реальности – информация о видеокарте.
Аналогичную информацию можно получить с помощью команды в консольном окне:
WMIC PATH Win32_VideoController GET/FORMAT:HFORM>d:\WORK\info.htm |
Если перейди на вкладку Associations для выбранного экземпляра. То можно просмотреть ассоциативные связи уже для него, в этом случае, их будет довольно много.
Для удобства. Можно вывести всю информацию во внешний файл средствами WMIC:
WMIC PATH Win32_VideoController ASSOC>d:\WORK\info.htm |
Свойства класса Win32_VideoController
AcceleratorCapabilities – Свойство является массивом, в котором содержится информация относительно графических и 3d возможностей видеокарты, (CIM_VideoController). Значения:
- 0 — Нет данных
- 1 – Другое
- 2 — Графический ускоритель
- 3 — 3D-ускоритель
AdapterCompatibility – Информация о микросхемах, которые используются в видеокарте.
AdapterDACType – Название или идентификатор микросхемы DAC (Digital-to-Analog
AdapterRAM – Информация о размере памяти видеокарты.
Availability – Доступность и состояние видеокарты, значения те же, что и для класса Win32_DesktopMonitor, (CIM_LogicalDevice).
CapabilityDescriptions – Строка, содержащая более подробные объяснения любой из функций видеокарты, указанных в массиве AcceleratorCapabilities, (CIM_VideoController).
Caption – Короткая информация о видеокарте, (CIM_ManagedSystemElement).
ColorTableEntries – Показывает информацию о системной цветовой палитре в том случае, если видеокарта имеет глубину цвета не более 8 бит на пиксел. В противном случае значение свойства будет пустым.
ConfigManagerErrorCode – Информация об ошибке конфигурации.
ConfigManagerUserConfig – Логическое значение, определяющее, использует ли видеокарта настройки пользователя, (CIM_LogicalDevice).
CreationClassName – Класс-создатель, (CIM_LogicalDevice).
CurrentBitsPerPixel – Количество бит, которые используются для отображения каждой из точек, (CIM_VideoController).
CurrentHorizontalResolution – Количество точек по горизонтали, (CIM_VideoController).
CurrentNumberOfColors – Количество цветов, которые поддерживаются видеокартой при данных разрешениях, (CIM_VideoController).
CurrentNumberOfColumns – Количество столбцов в текстовом режиме, (CIM_VideoController).
CurrentNumberOfRows — Количество строк в текстовом режиме, (CIM_VideoController).
CurrentRefreshRate – Информация о текущей частоте обновления экрана. Значение 0 – частота по умолчанию, 0xFFFFFFFF — оптимальная частота, (CIM_VideoController).
CurrentScanMode — Текущий режим развертки, (CIM_VideoController).
- 1 – Другое значение
- 2 – Данные отсутствуют
- 3 — Чересстрочная
- 4 — Без чередования
CurrentVerticalResolution — Количество точек по вертикали, (CIM_VideoController)
Description – Информация о видеокарте, (CIM_ManagedSystemElement).
DeviceID – Идентификатор видеокарты, (CIM_LogicalDevice).
DeviceSpecificPens — Количество световых перьев, используемых с устройством. Если значение свойства равно 0xFFFFFFFF, то устройство не поддерживает световых перьев.
DitherType – Информация о способе формирования полутоновых изображений видеокартой. Значения:
- 1 — Полутона не формируются
- 2 — Формирование грубой кистью
- 3 — Формирование тонкой кистью
- 4 — Штриховые полутона
- 5 — Устройство создает полутоновые изображения
DriverDate – Дата и время последней модификации видеокарты.
DriverVersion – Информация о номере версии драйвера видеокарты.
ErrorCleared — Ошибка, которую вернуло свойство LastErrorCode, устранена (значение TRUE), (CIM_LogicalDevice).
ErrorDescription – Описание ошибки видеокарты, (CIM_LogicalDevice).
ICMIntent – Содержит информацию о методе подбора цвета. Значения:
- 1 — Насыщенность
- 2 — Контрастность
- 3 — Точное Цвет
ICMMethod – Свойство указывает, как осуществляется ICM. Для не-ICM приложений это свойство показывает, включен ли ICM. Для ICM-приложений компьютер ссылается на это значение, чтобы определить, как обрабатывать поддержку ICM. Значения:
- 1 — ICM отключен
- 2 — ICM реализуется Windows
- 3 — ICM реализуется драйвером устройства
- 4 — ICM реализуется самим устройством
InfFilename — Путь к INF-файлу видеокарты.
InfSection — Раздел в INF-файле, в котором находится информация о видео.
InstallDate – Дата установки видеокарты, (CIM_ManagedSystemElement).
InstalledDisplayDrivers –Имя установленного драйвера видеокарты.
LastErrorCode – Информация о коде последней ошибки, (CIM_LogicalDevice).
MaxMemorySupported – Информация о максимальном размере в байтах поддерживаемой памяти, (CIM_VideoController).
MaxNumberControlled – Максимальное количество портов, поддерживаемых данным контроллером, (CIM_Controller).
MaxRefreshRate – Информация о максимальной частоте (Гц), которую поддерживает видеокарта, (CIM_VideoController).
MinRefreshRate — Информация о минимальной частоте (Гц), которую поддерживает видеокарта, (CIM_VideoController).
Monochrome – Свойство показывает, какой режим дисплея используется (цветной — FALSE или монохромный — TRUE), (CIM_ManagedSystemElement).
Name – Название (метка) видеокарты, (CIM_ManagedSystemElement).
NumberOfColorPlanes — Текущее число цветовых плоскостей, (CIM_PCVideoController).
NumberOfVideoPages — Количество страниц видеопамяти, поддерживаемых при текущем разрешении и размере памяти, (CIM_VideoController).
PNPDeviceID – Идентификатор Win32 данного устройства, (CIM_LogicalDevice).
PowerManagementCapabilities – Параметры питания, те же значения, что и для класса Win32_DesktopMonitor.
PowerManagementSupported – Осуществлена ли поддержка управления питанием видеокарты (TRUE – да, FALSE — нет), (CIM_LogicalDevice).
ProtocolSupported – Протокол, используемый контролером для доступа к управляемым устройствам, (CIM_Controller). Возможные значения можно просмотреть в документации Microsoft.
ReservedSystemPaletteEntries — Количество записей в системной цветовой палитре на данный момент. Свойство содержит пустое значение, если компьютер не использует палитру.
SpecificationVersion – Номер версии данных специализации.
Status – Статус видеокарты, те же значения, что и для класса Win32_NetworkAdapter, (CIM_ManagedSystemElement).
StatusInfo – Информация о статусе видеокарты, те же значения, что и для класса Win32_NetworkAdapter, (CIM_LogicalDevice).
SystemCreationClassName — Имя класса создания системы, (CIM_LogicalDevice).
SystemName – Системное имя видеокарты, (CIM_LogicalDevice).
SystemPaletteEntries – Количество цветовых индексов.
TimeOfLastReset – Информация о дате и времени последней перезагрузке контроллера, (CIM_Controller).
VideoArchitecture – Видео-архитектура, (CIM_PCVideoController). Значения:
- 1 — Другой тип
- 2 — Неизвестно
- 3 — CGA
- 4 — EGA
- 5 — VGA
- 6 — SVGA
- 7 — MDA
- 8 — HGC
- 9 — MCGA
- 10 — 8514A
- 11 — XGA
- 12 — Linear Frame Buffer
- 160 — PC-98
VideoMemoryType – Тип видеопамяти, (CIM_VideoController). Значения:
- 1 — Другой тип
- 2 — Неизвестно
- 3 — VRAM
- 4 — DRAM
- 5 — SRAM
- 6 — WRAM
- 7 — EDO RAM
- 8 — Burst Synchronous DRAM
- 9 — Pipelined Burst SRAM
- 10 — CDRAM
- 11 — 3DRAM
- 12 — SDRAM
- 13 — SGRAM
VideoMode — Текущий видео режим, (CIM_PCVideoController).
VideoModeDescription – Информация о текущем разрешении, цвете и режиме развертки для видеокарты.
VideoProcessor – Видеопроцессор, (CIM_PCVideoController).
Вывод информации о видеокарте средствами Windows Script Host
Язык VBScript:
'************************************************************** ' Информация о видеокарте ' Win32_VideoController.vbs '************************************************************** Option explicit dim objService, colNetworkAdapters, objItem dim VideoInfo, objClassProperty dim FSO, TempPath, TxtFile Set objService = GetObject("WinMgmts:\\.\Root\CIMV2") Set colNetworkAdapters = objService.ExecQuery("SELECT * FROM Win32_VideoController") VideoInfo = "Информация о видеокарте" & vbCrLf & vbCrLf ' Начинаем перебор коллекции For Each objItem in colNetworkAdapters ' Начинаем перебор всех свойств для текущего экземпляра класса WMI For Each objClassProperty In objItem.Properties_ ' Если значение больше 0 If Len(objClassProperty.value)>0 Then VideoInfo = VideoInfo & objClassProperty.Name &"= " & objClassProperty.value &vbCrLf End If Next VideoInfo = VideoInfo & "----------------------------------------------" &vbCrLf &vbCrLf Next ShowInNotepad(VideoInfo) 'Процедура создания временного файла с данными Sub ShowInNotepad(StrToFile) Set FSO = CreateObject("Scripting.FileSystemObject") TempPath = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%TEMP%") & "\" & FSO.GetTempName Set TxtFile = FSO.CreateTextFile(TempPath) TxtFile.WriteLine(StrToFile) TxtFile.Close CreateObject("WScript.Shell").Run "wordpad.exe " & TempPath End Sub |
Язык JScript:
//************************************************************** // Информация о видеокарте // Win32_VideoController.js //************************************************************** var objWMIService, colItems, objItem var VideoInfo, objItemC, objClassPropertyC, objClassProperty, strVal var TempPath, TxtFile // Получаем доступ к инструментарию Windows Management Instrumentation objWMIService = GetObject("WinMgmts:\\\\.\\Root\\CIMV2"); // выполняем WQL запрос и получаем коллекцию colItems = objWMIService.ExecQuery ("Select * from Win32_VideoController"); // Начинаем перебор коллекции objItem = new Enumerator(colItems); VideoInfo = "Информация о видеокарте\n\n"; for (; !objItem.atEnd(); objItem.moveNext()) { objItemC = objItem.item(); // Начинаем перебор всех свойств для текущего экземпляра класса WMI objClassPropertyC = new Enumerator(objItemC.Properties_); for (; !objClassPropertyC.atEnd(); objClassPropertyC.moveNext()) { objClassProperty = objClassPropertyC.item(); // Если значение больше 0 strVal = objClassProperty.value if (strVal != null){ VideoInfo+= objClassProperty.Name + "= " + objClassProperty.value + "\n"; } } VideoInfo += "----------------------------------------------\n\n"; } ShowInNotepad(VideoInfo) //Функцияя временного файла с данными function ShowInNotepad(StrToFile){ FSO = WScript.CreateObject("Scripting.FileSystemObject"); TempPath = WScript.CreateObject("WScript.Shell").ExpandEnvironmentStrings("%TEMP%") + "\\" + FSO.GetTempName(); TxtFile = FSO.CreateTextFile(TempPath); TxtFile.WriteLine(StrToFile); TxtFile.Close(); WScript.CreateObject("WScript.Shell").Run ("wordpad.exe " + TempPath); } |