使用WMI得到計(jì)算機(jī)的信息
WMI是一項(xiàng)行業(yè)推薦規(guī)范,旨在為訪問(wèn)企業(yè)環(huán)境中的管理信息而開(kāi)發(fā)一種標(biāo)準(zhǔn)化技術(shù)。該信息包括系統(tǒng)內(nèi)存的狀態(tài)、當(dāng)前安裝的客戶應(yīng)用程序清單,以及有關(guān)客戶端狀態(tài)的其他數(shù)據(jù)。
WMI是可伸縮的系統(tǒng)管理結(jié)構(gòu),該規(guī)范采用一個(gè)統(tǒng)一、基于標(biāo)準(zhǔn)且可擴(kuò)展的面向?qū)ο蠼涌?。它提供與系統(tǒng)管理員信息和基礎(chǔ)WMI API交互的標(biāo)準(zhǔn)方法,主要由系統(tǒng)管理應(yīng)用程序開(kāi)發(fā)人員和系統(tǒng)管理員用來(lái)訪問(wèn)和操作系統(tǒng)管理信息。
WMI可用來(lái)生成組織和管理系統(tǒng)信息的工具,使系統(tǒng)管理人員能夠更密切的監(jiān)視系統(tǒng)活動(dòng)。
WMI提供了一套內(nèi)置在Microsoft Windows操作系統(tǒng)中的豐富的系統(tǒng)管理服務(wù),現(xiàn)在有大量的應(yīng)用程序、服務(wù)和設(shè)備用其為信息技術(shù)操作和產(chǎn)品支持組織提供全方位的管理功能?;赪MI的管理系統(tǒng)的使用帶來(lái)了更可靠的計(jì)算環(huán)境和更高的系統(tǒng)可靠性,從而節(jié)省了企業(yè)的開(kāi)銷。
WMI提供的大量的規(guī)范為許多高端應(yīng)用程序,例如Microsoft Exchange、Microsoft SQL Server和Microsoft Internet信息服務(wù)(IIS)等實(shí)現(xiàn)如下管理任務(wù)。
1. 監(jiān)視應(yīng)用程序的運(yùn)行情況
2. 檢測(cè)瓶頸或故障
3. 管理和配置應(yīng)用程序
4. 查詢應(yīng)用程序數(shù)據(jù)(使用對(duì)象關(guān)系的遍歷和查詢)
5. 執(zhí)行無(wú)縫的本地或遠(yuǎn)程管理操作
下面我們通過(guò)一個(gè)例子來(lái)說(shuō)明WMI的強(qiáng)大功能。以vb6為列:
引用”Microsoft WMI Scripting V1.1 Library”
代碼如下:
Option Explicit Dim WithEvents Sink As SWbemSink Dim j As Integer '功能:利用wmi組件得到計(jì)算機(jī)的信息,每一個(gè)小功能分開(kāi)寫(xiě),便于大家查閱 Private Sub cmdDone_Click() Dim oWMINameSpace As SWbemServices Dim oLogicalDiskSet As SWbemObjectSet Dim oLogicalDisk As SWbemObject Dim ObjSet As Variant Dim sDrive As String Dim sValue As String Dim dblSize As Double Dim Obj As Variant Dim lIndex As Long Set oWMINameSpace = GetObject("winmgmts:") '得到驅(qū)動(dòng)器的信息 On Error Resume Next Set ObjSet = oWMINameSpace.InstancesOf("Win32_DiskDrive") For Each Obj In ObjSet List5.AddItem Obj.Caption & " - " & BytesToMegabytes(Obj.Size) & " GB" Next '得到每一個(gè)驅(qū)動(dòng)器的詳細(xì)信息 On Error GoTo ErrorHandler 'Set oWMINameSpace = GetObject("winmgmts:") Set oLogicalDiskSet = oWMINameSpace.InstancesOf("Win32_LogicalDisk") For Each oLogicalDisk In oLogicalDiskSet On Error Resume Next sDrive = oLogicalDisk.deviceid ListView1.ListItems.Add , , sDrive lIndex = ListView1.ListItems.Count sValue = oLogicalDisk.Description & "" ListView1.ListItems(lIndex).SubItems(1) = sValue sValue = oLogicalDisk.FileSystem & "" ListView1.ListItems(lIndex).SubItems(2) = sValue sValue = oLogicalDisk.VolumeName & "" ListView1.ListItems(lIndex).SubItems(3) = sValue sValue = oLogicalDisk.VolumeSerialNumber & "" ListView1.ListItems(lIndex).SubItems(4) = sValue sValue = oLogicalDisk.Size & "" If IsNumeric(sValue) Then dblSize = BytesToMegabytes(CDbl(sValue)) sValue = CStr(dblSize) & " MB" End If ListView1.ListItems(lIndex).SubItems(5) = sValue Next CleanUp: Set oLogicalDisk = Nothing Set oLogicalDiskSet = Nothing Set oWMINameSpace = Nothing Exit Sub ErrorHandler: MsgBox "" & Err.Description GoTo CleanUp End Sub Private Sub Command1_Click() Unload Me End Sub Private Function BytesToMegabytes(Bytes As Double) As Double Dim dblAns As Double dblAns = (Bytes / 1024) / 1024 BytesToMegabytes = Format(dblAns, "###,###,##0.00") End Function Private Sub Command2_Click() Dim oWMINameSpace As SWbemServices Dim SystemSet As Variant Dim System As Variant Dim ObjSet As Variant Dim Obj As Variant Set oWMINameSpace = GetObject("winmgmts:") '操作系統(tǒng) Set SystemSet = oWMINameSpace.InstancesOf("Win32_OperatingSystem") For Each System In SystemSet List1.AddItem System.Caption List1.AddItem System.Manufacturer List1.AddItem System.BuildType & “” ‘Win9x下好像取不出來(lái) List1.AddItem System.Version List1.AddItem System.SerialNumber Next 'cpu Set ObjSet = oWMINameSpace.InstancesOf("Win32_Processor") For Each Obj In ObjSet List2.AddItem Obj.Caption List2.AddItem Obj.currentclockspeed & " Mhz" Next End Sub Private Sub Command3_Click() Dim oWMINameSpace As SWbemServices Dim ObjSet As Variant Dim Obj As Variant Dim Adapter As Variant '內(nèi)存 Set oWMINameSpace = GetObject("winmgmts:") Set ObjSet = oWMINameSpace.InstancesOf("Win32_PhysicalMemory") Dim i As String For Each Obj In ObjSet List3.AddItem BytesToMegabytes(Obj.capacity) & " MB" & " Chip" Next '網(wǎng)卡 Set Sink = New SWbemSink Set Adapter = GetObject("winmgmts:") Adapter.InstancesOfAsync Sink, "Win32_NetworkAdapter" End Sub Private Sub Form_Load() j = 0 End Sub Private Sub Sink_OnObjectReady(ByVal objWbemObject As WbemScripting.ISWbemObject, ByVal objWbemAsyncContext As WbemScripting.ISWbemNamedValueSet) Dim Adapter As Variant ‘得到所有的適配器信息 Set Adapter = GetObject("winmgmts:Win32_NetworkAdapterConfiguration=" & j & "") List4.AddItem Adapter.Description If IsNull(Adapter.MACAddress) Then List4.AddItem "No MAC Address" List4.AddItem "" Else List4.AddItem "Mac: " & Adapter.MACAddress List4.AddItem "" End If j = j + 1 End Sub
這篇文章就介紹到這,更多的內(nèi)容大家可以參考這篇文章:http://technet.microsoft.com/en-us/library/ee198932.aspx
欄 目:vb
下一篇:使用vbs腳本實(shí)現(xiàn)自動(dòng)打字祝福與搞笑實(shí)現(xiàn)代碼
本文標(biāo)題:使用WMI得到計(jì)算機(jī)的信息
本文地址:http://mengdiqiu.com.cn/a1/vb/7093.html
您可能感興趣的文章
- 01-10VBScript教程 第七課使用條件語(yǔ)句
- 01-10VBScript教程 第十四課在VBScript中使用對(duì)象
- 01-10VBScript教程 第八課 使用循環(huán)語(yǔ)句
- 01-10VBS教程:正則表達(dá)式簡(jiǎn)介 -使用正則表達(dá)式
- 01-10VBS教程:對(duì)象-Class 對(duì)象
- 01-10VBS教程:VBScript 基礎(chǔ)-使用循環(huán)語(yǔ)句
- 01-10VBS教程:在 VBScript 中使用對(duì)象
- 01-10RCMD使用說(shuō)明
- 01-10VBS教程:VBScript 基礎(chǔ)-使用條件語(yǔ)句
- 01-10whoami.vbs源代碼


閱讀排行
- 1C語(yǔ)言 while語(yǔ)句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹(shù)的示例代碼(圣誕
- 3利用C語(yǔ)言實(shí)現(xiàn)“百馬百擔(dān)”問(wèn)題方法
- 4C語(yǔ)言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語(yǔ)言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語(yǔ)言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語(yǔ)言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-10下載文件到本地運(yùn)行的vbs
- 01-10飄葉千夫指源代碼,又稱qq刷屏器
- 01-10SendKeys參考文檔
- 01-10什么是一個(gè)高效的軟件
- 01-10VBS中的正則表達(dá)式的用法大全 &l
- 01-10exe2swf 工具(Adodb.Stream版)
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript教程 第十一課深入VBScript
- 01-10VBScript語(yǔ)法速查及實(shí)例說(shuō)明
隨機(jī)閱讀
- 01-10delphi制作wav文件的方法
- 01-11ajax實(shí)現(xiàn)頁(yè)面的局部加載
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 04-02jquery與jsp,用jquery
- 01-10SublimeText編譯C開(kāi)發(fā)環(huán)境設(shè)置
- 01-11Mac OSX 打開(kāi)原生自帶讀寫(xiě)NTFS功能(圖文
- 01-10C#中split用法實(shí)例總結(jié)
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-10使用C語(yǔ)言求解撲克牌的順子及n個(gè)骰子
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改