在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

運用WMI取得系統信息

運用WMI取得系統信息

更新時間:2022-05-14 文章作者:未知 信息來源:網絡 閱讀次數:

     WMI(Windows Management Instrumentation)技術是微軟提供的Windows下的系統管理工具。通過該工具可以在本地或者管理客戶端系統中幾乎一切的信息。很多專業的網絡管理工具都是基于WMI開發的。該工具在Win2000以及WinNT下是標準工具,在Win9X下是擴展安裝選項。本文將介紹如何通過VB編程來訪問WMI對象的編程。
   首先來看一個簡單的通過WMI獲取系統信息的范例,這個范例通過WMI對象獲得系統中運行的的進程:
Function Enum1() As String    Dim WMI
    Set WMI = GetObject("WinMgmts:")    Set objs = WMI.InstancesOf("Win32_Process")  
    For Each obj In objs        Enum1 = Enum1 + obj.Description + Chr(13) + Chr(10)    NextEnd Function  
    在上面的代碼中,首先通過  GetObject("WinMgmts:")獲得WMI對象,在WMI對象下有很多的子項,在這里我們通過WMI.InstancesOf("Win32_Process")獲得系統中所有的進程列表子項。
    下面看一個完整的訪問WMI對象的范例,這個范例獲得計算機的信息。    建立一個新工程,在Form1中添加一個TextBox控件以及一個CommandButton控件,在CommandButton的Click事件中寫入以下的代碼:

Private Sub Command1_Click()    Dim s, System, item    Dim i As Integer
    Set System = GetObject("winmgmts:").InstancesOf("Win32_ComputerSystem")    For Each item In System        'List1.AddItem item.cputype        s = "Computer Info" & vbCrLf        s = s & "***********************" & vbCrLf        s = s & "計算機名稱: " & item.name & vbCrLf
        s = s & "狀態: " & item.Status & vbCrLf
        s = s & "類型: " & item.SystemType & vbCrLf
        s = s & "生產廠家: " & item.Manufacturer & vbCrLf
        s = s & "型號: " & item.Model & vbCrLf
        s = s & "內存: ~" & item.totalPhysicalMemory \ 1024000 & "mb" & vbCrLf
        s = s & "域: " & item.domain & vbCrLf
        's = s & "工作組" & item.Workgroup & vbCrLf '獲得工作組和域的選項不能同時用  
        s = s & "當前用戶: " & item.username & vbCrLf
        s = s & "啟動狀態" & item.BootupState & vbCrLf
        s = s & "該計算機屬于" & item.PrimaryOwnerName & vbCrLf
        s = s & "系統類型" & item.CreationClassName & vbCrLf
        s = s & "計算機類類型" & item.Description & vbCrLf

        For i = 0 To 1  '這里假設安裝了兩個系統  
            s = s & Chr(5) & "啟動選項" & i & " :" & item.SystemStartupOptions(i) _  
                & vbCrLf  
        Next i  
    Next
    Text1.Text = s  
End Sub  
    運行程序,點擊Command1,在textBox中就可以顯示計算機的信息。
    在上面的代碼中,程序通過GetObject("winmgmts:")獲得WMI對象,然后獲得下面的
Win32_ComputerSystem子項并通過訪問Win32_ComputerSystem對象中的分項獲得系統中的信息。
需要說明的是,并不是所有的系統都支持WMI,在有些系統中無法顯示生產廠家等信息。

    現在的計算機以及網絡組成十分復雜。例如系統硬件方面就有主板、硬盤、網卡... 。
軟件方面有操作系統、系統中安裝的軟件、正在運行的進程等等。網絡方面有域、工作組
等等。利用WMI可以訪問上面的全部信息,但是如果向上面一樣的利用分項來訪問的話會很
麻煩。為此,WMI提供了一種類似SQL語句的查詢語句,可以通過查詢語句獲得WMI對象下的子項。

    下面是一個遍歷系統中安裝的網卡并返回網卡MAC地址的代碼:
Private Function MACAddress() As String

   Set objs = GetObject("winmgmts:").ExecQuery( _
      "SELECT MACAddress " & _
      "FROM Win32_NetworkAdapter " & _
      "WHERE " & _
      "((MACAddress Is Not NULL) " & _
      "AND (Manufacturer <> " & _
      "'Microsoft'))")
   For Each obj In objs
      MACAddress = obj.MACAddress
      Exit For
   Next obj
End Function
    上面的代碼獲得WMI對象,然后運行ExecQuery執行一個WMI查詢語句獲得安裝的網卡并返回
網卡的MAC地址。
    WMI還支持事件處理,讓程序可以處理系統事件,例如程序運行、關閉,可移動驅動器的插入、
取出等。下面是一個可以對系統中運行程序進行監控的程序。
    首先建立一個新工程,然后點擊菜單的 project | references 項,在references列表中選中
Microsoft WMI Scripting Library將WMI對象庫加入工程中。然后在Form1中加入一個ListBox控件,
然后在Form1中加入以下代碼:

Option Explicit  

Dim Locator As SWbemLocator
Dim Services As SWbemServices
Dim WithEvents StatusSink As SWbemSink
Private Sub KillEvents()
    StatusSink.Cancel
    Set StatusSink = Nothing
End Sub
Private Sub Form_Load()
    Dim Query As String
    Set StatusSink = New SWbemSink
    Set Locator = CreateObject("WbemScripting.SWbemLocator")
    Set Services = Locator.ConnectServer()
    Query = "SELECT * FROM __InstanceCreationEvent "
    Query = Query + "WITHIN 1 "
    Query = Query + "WHERE TargetInstance ISA 'Win32_Process'"  
    Services.ExecNotificationQueryAsync StatusSink, Query
End Sub  

Private Sub StatusSink_OnObjectReady(ByVal StatusEvent As SWbemObject, _
                                     ByVal EventContext As SWbemNamedValueSet)  
    Dim arr
    Dim strQue As String
    Dim i As Integer  
    List1.Clear
    arr = Split(StatusEvent.GetObjectText_, Chr(10))
    For i = LBound(arr) To UBound(arr)
        List1.AddItem arr(i)
    Next i
End Sub  

Private Sub StatusSink_OnCompleted(ByVal HResult As WbemErrorEnum, _
                                   ByVal ErrorObject As SWbemObject, _
                                   ByVal EventContext As SWbemNamedValueSet)  
    If HResult <> wbemErrCallCancelled Then
        '錯誤處理
    End If
End Sub  

    在上面的程序中定義了一個SWbemSink對象StatusSink,然后建立一個SWbemServices對象Server,
并將StatusSink連接到Server對象上。這樣就可以通過StatusSink監控程序的運行。
    運行程序,然后任意運行一個程序,在Form1的ListBox中就可以列出運行的程序的信息。
    WMI應用最強大的一面是可以通過WEB頁面來實現遠程管理。下面我們來建立一個HTML頁面,該頁面
可以實現向上面的VB程序一樣動態監控系統中運行的程序。監控系統中程序運行的HTML代碼如下:

<html>
<head>
<object ID="mysink" CLASSID=
"CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223"></object>
</head>
<SCRIPT>
function window.onload()  
{
  var locator = new ActiveXObject ("WbemScripting.SWbemLocator");  
  var service = locator.ConnectServer();  
  szQuery = "SELECT * FROM __InstanceCreationEvent ";  
  szQuery += "WITHIN 1 ";  
  szQuery += "WHERE TargetInstance ISA 'Win32_Process'";  
  service.ExecNotificationQueryAsync(mysink,szQuery);
}
</SCRIPT>
<script FOR="mysink" EVENT="OnObjectReady(obj, objAsyncContext)">  
  document.all.info.innerHTML += obj.TargetInstance.Name + "<br>";  
</script>
<body>
<span ID="info"></span>  
</body>
</html>
    保存代碼為Htm后綴的頁面文件。雙擊打開網頁,然后運行一個程序,在網頁上就可以列出
運行的程序的文件名。

    以上簡要的介紹了一下WMI的應用,實際上WMI對象的操作是十分復雜,功能也是很強大的,例如你可以通過WMI在服務器上監控整個局域網上的計算機、向局域網上的計算機批量安裝軟件(例如殺毒軟件)。通過頁面遠程訪問服務器,控件服務器運行程序,添加用戶等。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 一区二区三区视频在线观看免费| 日韩av一卡二卡三卡| 日韩av影视大全| av中文字幕网址| 午夜免费福利在线| wwwwxxxx日韩| 污网站在线免费| 天天干天天操天天干天天操| 色啦啦av综合| 精品少妇人妻av一区二区| 欧美一级免费在线观看| 真人做人试看60分钟免费| 男人日女人的bb| 国精产品一区一区三区视频| 欧美老熟妇喷水| 搡女人真爽免费午夜网站| 黄色片视频在线播放| www.精品在线| 992tv成人免费观看| 无码av天堂一区二区三区| 国产肥臀一区二区福利视频| 欧美精品第三页| 中文字幕综合在线观看| 国产91沈先生在线播放| 日韩精品一区二区三区久久| 三上悠亚av一区二区三区| 91香蕉国产线在线观看| 久久久性生活视频| 国产喷水theporn| 国产激情片在线观看| 日韩精品一区二区三区色欲av| 国产裸体舞一区二区三区| www.51色.com| 日本黄网站免费| 天堂av在线中文| 妓院一钑片免看黄大片| 日本丰满大乳奶| caopor在线视频| 真人做人试看60分钟免费| jizzjizzxxxx| 日韩在线观看a| 色国产在线视频| 青青青免费在线| 污网站在线免费| 亚洲中文字幕无码不卡电影| 欧美少妇在线观看| 久久久久国产一区| 日韩视频第二页| 99久久久精品视频| 一区二区三区四区毛片| 人妻内射一区二区在线视频| 男人草女人视频| 国产精品jizz在线观看老狼| 久久久久免费精品| 免费看的黄色大片| 日韩一级片免费视频| 青少年xxxxx性开放hg| www.99av.com| 97公开免费视频| 黄色a级片免费| 精品国产成人av在线免| 久久综合色视频| 久久国产精品网| 久久久久久久香蕉| 日韩精品一区二区三区四| 黄色免费高清视频| 精品国产鲁一鲁一区二区三区| 尤蜜粉嫩av国产一区二区三区| 白嫩少妇丰满一区二区| 女人天堂av手机在线| 成人一区二区免费视频| 91精品国产91久久久久麻豆 主演| 婷婷视频在线播放| 中国黄色录像片| 成人区一区二区| 僵尸世界大战2 在线播放| 人妻少妇精品久久| 黄色片视频在线免费观看| 能在线观看的av| 黄色三级视频在线| 手机av在线网站| 人人妻人人澡人人爽欧美一区 | 国产成人亚洲精品无码h在线| 免费无码不卡视频在线观看| 国产又黄又猛视频| 久久国产精品国产精品| 欧美日韩一级在线| 分分操这里只有精品| 99精品免费在线观看| 91极品视频在线观看| 中文 日韩 欧美| 欧美 日本 亚洲| 超碰av在线免费观看| 久久av喷吹av高潮av| 日本网站免费在线观看| www欧美激情| 97在线免费视频观看| 人人爽人人av| 色哟哟免费网站| 香蕉视频禁止18| av在线com| 中文字幕成人在线视频| 日本福利视频一区| 涩多多在线观看| 国产精品亚洲a| 2021狠狠干| 孩娇小videos精品| 两根大肉大捧一进一出好爽视频| 日韩一区二区三区久久| 欧美视频在线免费播放| 色黄视频免费看| 人妻无码视频一区二区三区| av一区二区三区免费观看| 天堂在线中文在线| 亚洲 中文字幕 日韩 无码| 久久久久久av无码免费网站下载| 天堂网在线免费观看| 美女日批免费视频| 亚洲天堂第一区| 三级黄色片免费观看| 日日噜噜噜噜久久久精品毛片| 福利在线一区二区| 成人在线免费高清视频| 三级黄色片免费看| av免费一区二区| 欧美激情第3页| 狠狠热免费视频| 99热手机在线| 国产理论在线播放| 亚洲国产精品三区| 噼里啪啦国语在线观看免费版高清版| 久久亚洲中文字幕无码| 欧日韩免费视频| 熟女少妇在线视频播放| 国产一区二区网| 欧美日韩激情视频在线观看| 国产成人无码a区在线观看视频| 精品无码国产一区二区三区av| 欧美交换配乱吟粗大25p| 日本国产中文字幕| 蜜臀av色欲a片无码精品一区| avav在线播放| 日本一道本久久| 免费男同深夜夜行网站| 亚洲 欧美 日韩系列| 五月激情婷婷在线| 国产黑丝在线视频| 国产一区二区三区小说| 男女啪啪免费视频网站| 无码人妻丰满熟妇区毛片| 超碰影院在线观看| 手机免费av片| av动漫在线免费观看| 欧美日韩亚洲一| 亚洲一区二区在线视频观看| 99精品一级欧美片免费播放| av日韩一区二区三区| 国内自拍视频一区| 国产成人强伦免费视频网站| 久久久久狠狠高潮亚洲精品| 国产乱叫456| 偷拍盗摄高潮叫床对白清晰| 日韩视频 中文字幕| 国产麻花豆剧传媒精品mv在线| www.精品在线| 日韩视频免费播放| 色一情一区二区三区| 国产又粗又猛又爽又黄的网站| 国产精品免费入口| 国产又粗又大又爽的视频| 久久精品视频16| 亚洲高清av一区二区三区| 国产视频一视频二| av不卡在线免费观看| 国产福利一区视频| 天堂…中文在线最新版在线| 小早川怜子一区二区三区| 欧美亚洲另类色图| 久久久99精品视频| 日本高清久久久| 手机看片福利日韩| 成 年 人 黄 色 大 片大 全| 国产九九九视频| 女人高潮一级片| 91极品尤物在线播放国产| 波多野结衣50连登视频| 99久久免费观看| 男同互操gay射视频在线看| mm1313亚洲国产精品无码试看| 激情五月宗合网| 日韩黄色短视频| 国产av人人夜夜澡人人爽麻豆| 99视频在线观看视频| 国产 porn| av网站在线不卡| 国产视频1区2区3区| 亚洲综合在线网站| 日韩av片网站| 狠狠干狠狠操视频| 一级黄色大片儿|