| 网站首页 | VB.Net实例分析 | .Net技术文摘 | 下载中心 | VB.Net书籍笔记 | .Net源码 | VBS脚本与组件调用 | Windows2008技术文摘 | 给我们留言 | 
最新公告:

  没有公告

您现在的位置: 乐博网 >> VB.Net实例分析 >> WMI编程 >> 实例分析正文
最新推荐 更多内容
[图文]VB.Net查询显示器属性信息的实例[乐博网原创]
VB.Net查询显示器属性信息的实例[乐博网原创]
作者:Shiny    来源:乐博网原创     更新时间:2007-12-18

此文章为本站(Lob.cn)乐博网原创,可以自由转载和传播,但希望能保留本站的作者和信息来源,谢谢!如果大家对此问题或者关于VB.Net调用WMI实现系统管理的话题感兴趣,就一起加入讨论把他做得更完善吧!

VB.Net调用WMI可以实现系统管理和系统信息查询等。WMI全称为Windows Management Instrumentation,利用WMI我们可以实现很多系统管理的功能,msdn在.Net Framework类库中对此描述比较简单(因为早期WMI相关专题有所较详尽描述,故类库中未再详细解说与演示) 乐博网将发布一系列相关文章及实例分析帮助大家更深刻了解它。

开发环境: VB2005  Windows2003

本实例需要在菜单栏中的“项目”-“ 添加引用” -“ System.Management”

并在实例代码中导入引用的项目和程序集中定义的命名空间或编程元素 即: Imports System.Management  

VB.Net查询显示器属性信息的实例

 

代码如下:

 Private Sub Lobdotcn()

        Dim Lob_Searcher As New ManagementObjectSearcher("root\CIMV2", "SELECT * FROM Win32_DesktopMonitor")
        For Each Obj_Query As ManagementObject In Lob_Searcher.Get()
            ListBox1.Items.Add("乐博网LOB.Cn   VB.Net爱好者的组织")
            ListBox1.Items.Add("Availability: " & Obj_Query("Availability"))
            ListBox1.Items.Add("Bandwidth: " & Obj_Query("Bandwidth"))
            ListBox1.Items.Add("Caption: " & Obj_Query("Caption"))
            ListBox1.Items.Add("ConfigManagerErrorCode: " & Obj_Query("ConfigManagerErrorCode"))
            ListBox1.Items.Add("ConfigManagerUserConfig: " & Obj_Query("ConfigManagerUserConfig"))
            ListBox1.Items.Add("CreationClassName: " & Obj_Query("CreationClassName"))
            ListBox1.Items.Add("Description: " & Obj_Query("Description"))
            ListBox1.Items.Add("DeviceID: " & Obj_Query("DeviceID"))
            ListBox1.Items.Add("DisplayType: " & Obj_Query("DisplayType"))
            ListBox1.Items.Add("ErrorCleared: " & Obj_Query("ErrorCleared"))
            ListBox1.Items.Add("ErrorDescription: " & Obj_Query("ErrorDescription"))
            ListBox1.Items.Add("InstallDate: " & Obj_Query("InstallDate"))
            ListBox1.Items.Add("IsLocked: " & Obj_Query("IsLocked"))
            ListBox1.Items.Add("LastErrorCode: " & Obj_Query("LastErrorCode"))
            ListBox1.Items.Add("MonitorManufacturer: " & Obj_Query("MonitorManufacturer"))
            ListBox1.Items.Add("MonitorType: " & Obj_Query("MonitorType"))
            ListBox1.Items.Add("Name: " & Obj_Query("Name"))
            ListBox1.Items.Add("PixelsPerXLogicalInch: " & Obj_Query("PixelsPerXLogicalInch"))
            ListBox1.Items.Add("PixelsPerYLogicalInch: " & Obj_Query("PixelsPerYLogicalInch"))
            ListBox1.Items.Add("PNPDeviceID: " & Obj_Query("PNPDeviceID"))
            If Obj_Query("PowerManagementCapabilities") IsNot Nothing Then
                Dim arrPowerManagementCapabilities As UInt16()
                arrPowerManagementCapabilities = Obj_Query("Capabilities")
                For Each arrValue As UInt16 In arrPowerManagementCapabilities
                    ListBox1.Items.Add("arrPowerManagementCapabilities(): " & arrValue)
                Next
            End If
            ListBox1.Items.Add("PowerManagementSupported: " & Obj_Query("PowerManagementSupported"))
            ListBox1.Items.Add("ScreenHeight: " & Obj_Query("ScreenHeight"))
            ListBox1.Items.Add("ScreenWidth: " & Obj_Query("ScreenWidth"))
            ListBox1.Items.Add("Status: " & Obj_Query("Status"))
            ListBox1.Items.Add("StatusInfo: " & Obj_Query("StatusInfo"))
            ListBox1.Items.Add("SystemCreationClassName: " & Obj_Query("SystemCreationClassName"))
            ListBox1.Items.Add("SystemName: " & Obj_Query("SystemName"))
        Next

    End Sub

属性的说明:

 uint16 Availability;
  uint32 Bandwidth;
  string Caption;
  uint32 ConfigManagerErrorCode;
  boolean ConfigManagerUserConfig;
  string CreationClassName;
  string Description;
  string DeviceID;
  uint16 DisplayType;
  boolean ErrorCleared;
  string ErrorDescription;
  datetime InstallDate;
  boolean IsLocked;
  uint32 LastErrorCode;
  string MonitorManufacturer;
  string MonitorType;
  string Name;
  uint32 PixelsPerXLogicalInch;
  uint32 PixelsPerYLogicalInch;
  string PNPDeviceID;
  uint16 PowerManagementCapabilities[];
  boolean PowerManagementSupported;
  uint32 ScreenHeight;
  uint32 ScreenWidth;
  string Status;
  uint16 StatusInfo;
  string SystemCreationClassName;
  string SystemName;

Availability
Data type: uint16
Access type: Read-only

Availability and status of the device. Inherited from CIM_LogicalDevice.

Value Meaning

1
0x1

Other

2
0x2

Unknown

3
0x3

Running or Full Power

4
0x4

Warning

5
0x5

In Test

6
0x6

Not Applicable

7
0x7

Power Off

8
0x8

Off Line

9
0x9

Off Duty

10
0xA

Degraded

11
0xB

Not Installed

12
0xC

Install Error

13
0xD

Power Save - Unknown

The device is known to be in a power save mode, but its exact status is unknown.

14
0xE

Power Save - Low Power Mode

The device is in a power save state but still functioning, and may exhibit degraded performance.

15
0xF

Power Save - Standby

The device is not functioning, but could be brought to full power quickly.

16
0x10

Power Cycle

17
0x11

Power Save - Warning

The device is in a warning state, though also in a power save mode.

Bandwidth
Data type: uint32
Access type: Read-only

Monitor's bandwidth in megahertz. If unknown, enter 0 (zero). This property is inherited from CIM_DesktopMonitor.

Caption
Data type: string
Access type: Read-only

Short description (one-line string) of the object. This property is inherited from CIM_ManagedSystemElement.

ConfigManagerErrorCode
Data type: uint32
Access type: Read-only

Win32 Configuration Manager error code.

Value Meaning

0
0x0

Device is working properly.

1
0x1

Device is not configured correctly.

2
0x2

Windows cannot load the driver for this device.

3
0x3

Driver for this device might be corrupted, or the system may be low on memory or other resources.

4
0x4

Device is not working properly. One of its drivers or the registry might be corrupted.

5
0x5

Driver for the device requires a resource that Windows cannot manage.

6
0x6

Boot configuration for the device conflicts with other devices.

7
0x7

Cannot filter.

8
0x8

Driver loader for the device is missing.

9
0x9

Device is not working properly. The controlling firmware is incorrectly reporting the resources for the device.

10
0xA

Device cannot start.

11
0xB

Device failed.

12
0xC

Device cannot find enough free resources to use.

13
0xD

Windows cannot verify the device's resources.

14
0xE

Device cannot work properly until the computer is restarted.

15
0xF

Device is not working properly due to a possible re-enumeration problem.

16
0x10

Windows cannot identify all of the resources that the device uses.

17
0x11

Device is requesting an unknown resource type.

18
0x12

Device drivers must be reinstalled.

19
0x13

Failure using the VxD loader.

20
0x14

Registry might be corrupted.

21
0x15

System failure. If changing the device driver is ineffective, see the hardware documentation. Windows is removing the device.

22
0x16

Device is disabled.

23
0x17

System failure. If changing the device driver is ineffective, see the hardware documentation.

24
0x18

Device is not present, not working properly, or does not have all of its drivers installed.

25
0x19

Windows is still setting up the device.

26
0x1A

Windows is still setting up the device.

27
0x1B

Device does not have valid log configuration.

28
0x1C

Device drivers are not installed.

29
0x1D

Device is disabled. The device firmware did not provide the required resources.

30
0x1E

Device is using an IRQ resource that another device is using.

31
0x1F

Device is not working properly. Windows cannot load the required device drivers.

ConfigManagerUserConfig
Data type: boolean
Access type: Read-only

If TRUE, the device is using a user-defined configuration. This property is inherited from CIM_LogicalDevice.

CreationClassName
Data type: string
Access type: Read-only
Qualifiers: Key, MaxLen(256)

Name of the first concrete class to appear in the inheritance chain used in the creation of an instance. When used with the other key properties of the class, the property allows all instances of this class and its subclasses to be uniquely identified. This property is inherited from CIM_LogicalDevice.

Description
Data type: string
Access type: Read-only

Description of the object. This property is inherited from CIM_ManagedSystemElement.

DeviceID
Data type: string
Access type: Read-only

Unique identifier of a desktop monitor. This property is inherited from CIM_LogicalDevice.

DisplayType
Data type: uint16
Access type: Read-only

Type of desktop monitor or CRT. This property is inherited from CIM_DesktopMonitor.

Value Meaning

0

Unknown

1

Other

2

Multiscan Color

3

Multiscan Monochrome

4

Fixed Frequency Color

5

Fixed Frequency Monochrome

ErrorCleared
Data type: boolean
Access type: Read-only

If TRUE, the error reported in LastErrorCode is now cleared. This property is inherited from CIM_LogicalDevice.

ErrorDescription
Data type: string
Access type: Read-only

Free-form string supplying more information about the error recorded in LastErrorCode, and information on any corrective actions that may be taken. This property is inherited from CIM_LogicalDevice.

InstallDate
Data type: datetime
Access type: Read-only

Date and time the object was installed. This property does not need a value to indicate that the object is installed. This property is inherited from CIM_ManagedSystemElement.

IsLocked
Data type: boolean
Access type: Read-only

If TRUE, the device is locked, preventing user input or output. This property is inherited from CIM_UserDevice.

LastErrorCode
Data type: uint32
Access type: Read-only

Last error code reported by the logical device. This property is inherited from CIM_LogicalDevice.

MonitorManufacturer
Data type: string
Access type: Read-only

Name of the monitor manufacturer.

Example: "NEC"

MonitorType
Data type: string
Access type: Read-only

Type of monitor.

Example: "NEC 5FGp"

Name
Data type: string
Access type: Read-only

Label by which the object is known. When subclassed, the property can be overridden to be a key property. This property is inherited from CIM_ManagedSystemElement.

PixelsPerXLogicalInch
Data type: uint32
Access type: Read-only
Qualifiers: Units(Pixels per Logical Inch)

Resolution along the X axis (horizontal direction) of the monitor.

PixelsPerYLogicalInch
Data type: uint32
Access type: Read-only
Qualifiers: Units(Pixels per Logical Inch)

Resolution along the Y axis (vertical direction) of the monitor.

PNPDeviceID
Data type: string
Access type: Read-only

Windows Plug and Play device identifier of the logical device. This property is inherited from CIM_LogicalDevice.

Example: "*PNP030b"

PowerManagementCapabilities
Data type: uint16 array
Access type: Read-only

Array of the specific power-related capabilities of a logical device. This property is inherited from CIM_LogicalDevice.

Value Meaning

0
0x0

Unknown

1
0x1

Not Supported

2
0x2

Disabled

3
0x3

Enabled

The power management features are currently enabled but the exact feature set is unknown or the information is unavailable.

4
0x4

Power Saving Modes Entered Automatically

The device can change its power state based on usage or other criteria.

5
0x5

Power State Settable

The SetPowerState method is supported. This method is found on the parent CIM_LogicalDevice class and can be implemented. For more information, see Designing Managed Object Format (MOF) Classes.

6
0x6

Power Cycling Supported

The SetPowerState method can be invoked with the PowerState parameter set to 5 (Power Cycle).

7
0x7

Timed Power-On Supported

The SetPowerState method can be invoked with the PowerState parameter set to 5 (Power Cycle) and Time set to a specific date and time, or interval, for power-on.

PowerManagementSupported
Data type: boolean
Access type: Read-only

If TRUE, the device can be power-managed (can be put into suspend mode, and so on). The property does not indicate that power management features are currently enabled, only that the logical device is capable of power management. This property is inherited from CIM_LogicalDevice.

ScreenHeight
Data type: uint32
Access type: Read-only

Logical height of the display in screen coordinates. This property is inherited from CIM_DesktopMonitor.

ScreenWidth
Data type: uint32
Access type: Read-only

Logical width of the display in screen coordinates. This property is inherited from CIM_DesktopMonitor.

Status
Data type: string
Access type: Read-only

Current status of the object. Various operational and nonoperational statuses can be defined. Operational statuses include: "OK", "Degraded", and "Pred Fail" (an element, such as a SMART-enabled hard disk drive, may be functioning properly but predicting a failure in the near future). Nonoperational statuses include: "Error", "Starting", "Stopping", and "Service". The latter, "Service", could apply during mirror-resilvering of a disk, reload of a user permissions list, or other administrative work. Not all such work is online, yet the managed element is neither "OK" nor in one of the other states. This property is inherited from CIM_ManagedSystemElement.

The values are:

"OK"

"Error"

"Degraded"

"Unknown"

"Pred Fail"

"Starting"

"Stopping"

"Service"

StatusInfo
Data type: uint16
Access type: Read-only

State of the logical device. If this property does not apply to the logical device, the value 5 (Not Applicable) should be used. This property is inherited from CIM_LogicalDevice.

Value Meaning

1
0x1

Other

2
0x2

Unknown

3
0x3

Enabled

4
0x4

Disabled

5
0x5

Not Applicable

SystemCreationClassName
Data type: string
Access type: Read-only

Value of the scoping computer's CreationClassName property. This property is inherited from CIM_LogicalDevice.

SystemName
Data type: string
Access type: Read-only

Name of the scoping system. This property is inherited from CIM_LogicalDevice.


 

  • 上一篇:

  • 下一篇:
  • 【字体: 】【打印此文】【关闭窗口
      相关文章:(只显示最新16条)
    计算机加入域或工作组的实例
    VB.Net查询光驱信息的实例[乐博网原创]
    VB.Net查询系统启动信息的实例[乐博网原创]
    VB.Net查询键盘类型的实例[乐博网原创]
    VB.Net查询BIOS版本信息的实例[乐博网原创]
    VB.Net查询哪些服务可以被手工停止的方法
    VB.Net不用ping.exe实现ping主机是否通的方法
    VB.Net查询开机自启动项目的方法
    VB.Net查询屏幕分辨率的方法
    VB.Net查询系统日志明细的方法
    VB.Net清理系统日志的方法
    VB.Net查询日志记录条数和日志大小上限的方法
    VB.Net实现磁盘碎片整理的方法
    VB.Net检测所有磁盘文件系统类型的方法
    VB.Net检测所有磁盘类型的方法
    VB.Net检测软驱是否插入磁盘的方法

    | 设为首页 | 加入收藏 | 联系站长 | | 友情链接 | 版权申明 |
    乐博网欢迎各种媒体转载我们的原创作品[转载请注明出处];我们鼓励更多VB.Net开发者一起加入研究与探讨;如发现文章访问错误、内容错误或版权疑问、内容有违相关法律(如涉及政治、色情、反动或散布虚假有害信息)等情况,请及时向我们举报,我们将及时纠正!
    联系邮箱:Shiny#vip.qq.com (#替换为@) QQ交流群: 40797788 [闽ICP备05014267号]