Класс Win32_VideoController позволяет получить информацию о видеокарте, он происходит от класса CIM_PCVideoController. Win32_VideoController является крупнейшим видео-классов, так как содержит в своем составе 59 свойств, методов у него нет.
Как и для большинства классов, ключевым свойством класса Win32_VideoController является DeviceID. Сам класс предоставляет провайдер подсистемы Win32, связанные файлы - Cimwin32.mof и Cimwin32.dll, пространство имен \root\CIMV2.
Если открыть утилиту 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); } |
Спасибо за внимание. Автор блога Владимир Баталий