前段时间刚学了点WMI脚本编程的一些知识,还在BLOG上写了一个笔记《WMI Minute -- Windows管理脚本学习 》。今天学到.NET下WMI编程是通过System.Management下的几个类来实现的。我的WMI Minute 上记录第一个用VBScript写的WMI例程是关于如何获得本机总内存的。程序如下:
strComputer = "."
Set wbemServices = GetObject("winmgmts:\\" & strComputer)
Set wbemObjectSet = wbemServices.InstancesOf("Win32_LogicalMemoryConfiguration")
For Each wbemObject In wbemObjectSet
WScript.Echo "Total Physical Memory (kb): " & wbemObject.TotalPhysicalMemory
Next
我决定要把它改成在.NET上的实现,没遇到什么困难,几分钟就搞定了,呵呵--
随便建个winform,加入System.Management.dll的引用,
Imports System.Management
在Form_load里加入代码:
Dim oWmi As New ManagementClass("Win32_LogicalMemoryConfiguration")
Dim colM As ManagementObjectCollection = oWmi.GetInstances()
Dim objM As ManagementObject
For Each objM In colM
MsgBox("本机总内存:"+objM.Properties("TotalPhysicalMemory").Value.ToString())
Next
WMI真是很有用的东东,通过它你可以读取及控制操作系统、服务、网络、进程等方面的信息,今天只是小试一下,改天再写一些详细的说明的和更实用的例子。