我的博客小站

获取显示器信息:厂商、品牌等

wmi可以获取基本的一些信息,但是厂商品牌等好像获取不到:

On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_DesktopMonitor",,48)
For Each objItem in colItems
    Wscript.Echo "Availability: " & objItem.Availability
    Wscript.Echo "Bandwidth: " & objItem.Bandwidth
    Wscript.Echo "Caption: " & objItem.Caption
    Wscript.Echo "ConfigManagerErrorCode: " & objItem.ConfigManagerErrorCode
    Wscript.Echo "ConfigManagerUserConfig: " & objItem.ConfigManagerUserConfig
    Wscript.Echo "CreationClassName: " & objItem.CreationClassName
    Wscript.Echo "Description: " & objItem.Description
    Wscript.Echo "DeviceID: " & objItem.DeviceID
    Wscript.Echo "DisplayType: " & objItem.DisplayType
    Wscript.Echo "ErrorCleared: " & objItem.ErrorCleared
    Wscript.Echo "ErrorDescription: " & objItem.ErrorDescription
    Wscript.Echo "InstallDate: " & objItem.InstallDate
    Wscript.Echo "IsLocked: " & objItem.IsLocked
    Wscript.Echo "LastErrorCode: " & objItem.LastErrorCode
    Wscript.Echo "MonitorManufacturer: " & objItem.MonitorManufacturer
    Wscript.Echo "MonitorType: " & objItem.MonitorType
    Wscript.Echo "Name: " & objItem.Name
    Wscript.Echo "PixelsPerXLogicalInch: " & objItem.PixelsPerXLogicalInch
    Wscript.Echo "PixelsPerYLogicalInch: " & objItem.PixelsPerYLogicalInch
    Wscript.Echo "PNPDeviceID: " & objItem.PNPDeviceID
    Wscript.Echo "PowerManagementCapabilities: " & objItem.PowerManagementCapabilities
    Wscript.Echo "PowerManagementSupported: " & objItem.PowerManagementSupported
    Wscript.Echo "ScreenHeight: " & objItem.ScreenHeight
    Wscript.Echo "ScreenWidth: " & objItem.ScreenWidth
    Wscript.Echo "Status: " & objItem.Status
    Wscript.Echo "StatusInfo: " & objItem.StatusInfo
    Wscript.Echo "SystemCreationClassName: " & objItem.SystemCreationClassName
    Wscript.Echo "SystemName: " & objItem.SystemName
Next

其中有一个字段PNPDeviceID倒是显示了可能的品牌:

---------------------------
Windows Script Host
---------------------------
PNPDeviceID: DISPLAY\DELD036\5&60ECEDB&0&UID1048833
---------------------------

 

可见wmi的信息不足够,获取厂商和品牌等信息可以通过EDID来获取,这个信息在注册表:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\DISPLAY\DELD036\5&60ecedb&0&UID1048833\Device Parameters

EDID里。

 

EDID: Extended Display Identification Data(扩展显示标识数据)是一种VESA 标准数据格式,其中包含有关监视器及其性能的参数,包括供应商信息、最大图像大小、颜色设置、厂商预设置、频率范围的限制以及显示器名和序列号的字符串。 这些信息保存在 display 节中,用来通过一个 DDC(Display Data Channel)与系统进行通信,这是在显示器和 PC 图形适配器之间进行的。最新版本的 EDID 可以在 CRT、LCD 以及将来的显示器类型中使用,这是因为 EDID 提供了几乎所有显示参数的通用描述。
EDID 由128个字节组成,大致划分如下
0-7 :头信息 ,8个字节,由00 FF FF FF FF FF FF 00 组成
8-9:厂商ID
10-11: 产品ID
12-15:32-bit序列号
16-17 :制造日期
18-19 : EDID 版本
20-24 : 显示器的基本信息(电源,最大高度,宽度)
25-34 : 显示器的颜色特征
35-37 : 显示器的基本时序,定时 ,分辨率
38-53 : 显示器的标准时序及定时
54-125: 显示器的详细时序及定时
126: 扩展标志位,EDID-1.3版本需要忽略,设置为0
127: 求和验证值

 

 获取信息如:

posted on 2014-03-17 10:34  BIGSING  阅读(8715)  评论(4编辑  收藏  举报

导航

我的博客小站