国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Visual Basic > 正文

使用WMI得到計算機的信息

2020-01-31 16:30:36
字體:
來源:轉載
供稿:網友

WMI是一項行業推薦規范,旨在為訪問企業環境中的管理信息而開發一種標準化技術。該信息包括系統內存的狀態、當前安裝的客戶應用程序清單,以及有關客戶端狀態的其他數據。
WMI是可伸縮的系統管理結構,該規范采用一個統一、基于標準且可擴展的面向對象接口。它提供與系統管理員信息和基礎WMI API交互的標準方法,主要由系統管理應用程序開發人員和系統管理員用來訪問和操作系統管理信息。
WMI可用來生成組織和管理系統信息的工具,使系統管理人員能夠更密切的監視系統活動。
WMI提供了一套內置在Microsoft Windows操作系統中的豐富的系統管理服務,現在有大量的應用程序、服務和設備用其為信息技術操作和產品支持組織提供全方位的管理功能。基于WMI的管理系統的使用帶來了更可靠的計算環境和更高的系統可靠性,從而節省了企業的開銷。
WMI提供的大量的規范為許多高端應用程序,例如Microsoft Exchange、Microsoft SQL Server和Microsoft Internet信息服務(IIS)等實現如下管理任務。
1. 監視應用程序的運行情況
2. 檢測瓶頸或故障
3. 管理和配置應用程序
4. 查詢應用程序數據(使用對象關系的遍歷和查詢)
5. 執行無縫的本地或遠程管理操作

下面我們通過一個例子來說明WMI的強大功能。以vb6為列:
引用”Microsoft WMI Scripting V1.1 Library”
代碼如下:

Option ExplicitDim WithEvents Sink As SWbemSinkDim j As Integer'功能:利用wmi組件得到計算機的信息,每一個小功能分開寫,便于大家查閱 Private Sub cmdDone_Click()Dim oWMINameSpace As SWbemServicesDim oLogicalDiskSet As SWbemObjectSetDim oLogicalDisk As SWbemObject Dim ObjSet As VariantDim sDrive As StringDim sValue As StringDim dblSize As DoubleDim Obj As Variant Dim lIndex As Long Set oWMINameSpace = GetObject("winmgmts:") '得到驅動器的信息On Error Resume NextSet ObjSet = oWMINameSpace.InstancesOf("Win32_DiskDrive") For Each Obj In ObjSet List5.AddItem Obj.Caption & " - " & BytesToMegabytes(Obj.Size) & " GB"Next  '得到每一個驅動器的詳細信息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) ThendblSize = BytesToMegabytes(CDbl(sValue))sValue = CStr(dblSize) & " MB"  End If    ListView1.ListItems(lIndex).SubItems(5) = sValueNext    CleanUp:Set oLogicalDisk = NothingSet oLogicalDiskSet = NothingSet oWMINameSpace = NothingExit Sub ErrorHandler:MsgBox "" & Err.Description GoTo CleanUp End Sub Private Sub Command1_Click()Unload MeEnd 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 SWbemServicesDim SystemSet As VariantDim System As VariantDim ObjSet As VariantDim Obj As Variant  Set oWMINameSpace = GetObject("winmgmts:")'操作系統Set SystemSet = oWMINameSpace.InstancesOf("Win32_OperatingSystem") For Each System In SystemSet  List1.AddItem System.Caption  List1.AddItem System.Manufacturer  List1.AddItem System.BuildType & “” ‘Win9x下好像取不出來  List1.AddItem System.Version  List1.AddItem System.SerialNumberNext'cpuSet 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 SWbemServicesDim ObjSet As VariantDim Obj As VariantDim Adapter As Variant '內存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 '網卡Set Sink = New SWbemSink  Set Adapter = GetObject("winmgmts:")Adapter.InstancesOfAsync Sink, "Win32_NetworkAdapter" End Sub Private Sub Form_Load()j = 0End 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 + 1End Sub

這篇文章就介紹到這,更多的內容大家可以參考這篇文章:http://technet.microsoft.com/en-us/library/ee198932.aspx

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 云和县| 交口县| 隆子县| 衡东县| 日土县| 长宁县| 诸暨市| 山阳县| 柯坪县| 丰原市| 十堰市| 榆社县| 麻栗坡县| 肇源县| 西华县| 上饶市| 含山县| 固始县| 修水县| 焦作市| 华池县| 阿拉善右旗| 宝兴县| 长岭县| 嘉义县| 酒泉市| 华安县| 郸城县| 乐清市| 河间市| 莱阳市| 喀喇| 广东省| 东辽县| 隆昌县| 常宁市| 云阳县| 德格县| 新宁县| 怀柔区| 阜南县|