如果不使用wmi,想要獲取遠端計算機的系統資料,最常用的方法就是在遠端計算機上執行乙個客戶端程式,本地機通過和這個客戶端程式來獲取遠端計算機的系統資料。這種實現方法無論是程式
設計還是後面的程式分發都是及其困難的。而使用wmi,一切就顯得非常簡單。下面介紹的這個示例,其功能是利用wmi獲取遠端計算機硬碟資料。各位只需對這個程式稍加修改,就可以獲得遠端計算機的其他資料。下面是具體的實現步驟:
1. 首先啟動visual studio .net,依次選擇"檔案"、"新建"、"專案"選單後,在彈出"新建專案"對話方塊中將"專案型別"設定為"visual c#專案",將"模板"設定為"windows應用程式",在"名稱"文字框中輸入"獲得遠端計算機硬碟資訊",在"位置"的文字框中輸入"e:/vs.net專案",然後單擊"確定"按鈕。這樣在"e:/vs.net專案"目錄中就建立了乙個新的資料夾"獲得遠端計算機硬碟資訊",裡面存放的就是"獲得遠端計算機硬碟資訊"的專案檔案。
2. 由於visual studio .net預設的編譯環境中並沒有包括命名空間"system.management"所位於的檔案"system.management.dll",所以首先要在專案檔案中引入此dll檔案。具體的步驟如下:
選中【解決方案資源管理器】中的【引用】,單擊滑鼠右鍵,在彈出的選單中,選擇【新增引用】,具體如圖05所示:
圖05:新增引用
在彈出【新增引用】對話方塊中,選擇【.net】頁面,在【元件名稱】欄中選擇【system.managemen】後,單擊【選擇】按鈕,此時在【選定的元件】欄中就加入了【system.managemen】,然後單擊【確定】按鈕,則在visual studio .net整合開發環境中就引入命名空間"system.managemen"。具體如圖06所示:
圖06:新增引用
3. 在【解決方案資源管理器】視窗中,雙擊form1.cs檔案,進入form1.cs檔案的編輯介面。
4. 在form1.cs檔案的開頭,用下列匯入命名空間**替代系統預設的匯入命名空間**。
using system ;
using system.drawing ;
using system.collections ;
using system.componentmodel ;
using system.windows.forms ;
using system.data ;
using system.management ;
//wmi操作類位於的命名空間
5. 把visual studio .net當前視窗切換到【form1.cs(設計)】視窗,並從【工具箱】中的【windows窗體元件】中往窗體中拖入下列元件,並執行相應操作:
三個textbox元件,分別輸入遠端計算機名稱或ip位址,遠端計算機的超級使用者帳戶和口令。
乙個listbox元件,用以顯示遠端計算機硬碟資訊。
三個label元件。
乙個button元件,名稱為button1,拖入窗體後,雙擊此元件,則系統會在form1.cs中自動產生其click事件對應的處理**。
6. 按照表05中的資料調整各元件屬性對應的數值:
元件型別
元件名稱
屬性設定結果
form
form1
text
獲取遠端計算機硬碟資訊
form1
formborderstyle
fixedsingle
form1
maximizebox
false
label
label1
text
label2
text
擁有wmi許可權的使用者名稱:
label3
text
口令:textbox
textbox1
text
""textbox2
text
""textbox3
passwordchar
*textbox3
text
""button
button1
text
獲得硬碟資訊
button1
flatstyle
flat
表05:【獲得遠端計算機硬碟資訊】專案窗體中各元件的主要屬性設定數值表
並按照圖07中各元件的位置和排列順序調整窗體中元件的位置和排列順序:
圖07:【獲得遠端計算機硬碟資訊】專案的設計介面
7. 把visual studio .net的當前視窗切換到form1.cs檔案的編輯視窗,並用下列**替換form1.cs中的button1的click事件對應的處理**。下列**的作用是對遠端計算機進行wmi查詢,提起查詢得到資料,並顯示結果:
private void button1_click ( object sender , system.eventargs e )
}catch ( exception ee )
}
8. 至此,在上述步驟都正確完成後,【獲取遠端計算機硬碟資訊】專案的全部工作也就完成了。此時單擊快捷鍵f5執行程式。在正確輸入遠端計算機的ip位址或使用者名稱,遠端計算機超級使用者名稱和口令後,單擊【獲取硬碟資訊】按鈕,則程式會獲取的指定計算機的硬碟的資料並顯示出來,具體如圖08所示:
圖08:【獲得遠端計算機硬碟資訊】的執行介面
怎麼樣,是否有一種做黑客的感覺。下面將介紹使用wmi完成一項更"酷"的程式。通過此程式將重啟或關閉遠端計算機。
Visual C 中用WMI控制遠端計算機
其實做遠端控制軟體,wmi是乙個很好的選擇,尤其是在目前,windows 2000已經成為了主流的 作業系統 利用wmi編寫遠端控制軟體可以省略了已往遠端控制軟體最頭痛的乙個環節 分發客戶端程式。天極開發c 專欄 本節中介紹的遠端控制程式,能夠讓使用者重啟和關閉遠端計算機。其所使用的就是wmi,下面...
Visual C 中用WMI控制遠端計算機
其實做遠端控制軟體,wmi是乙個很好的選擇,尤其是在目前,windows 2000已經成為了主流的 作業系統 利用wmi編寫遠端控制軟體可以省略了已往遠端控制軟體最頭痛的乙個環節 分發客戶端程式。天極開發c 專欄 本節中介紹的遠端控制程式,能夠讓使用者重啟和關閉遠端計算機。其所使用的就是wmi,下面...
通過WMI獲取主機板資訊
using system using system.collections.generic using system.text using system.management namespace cs 列印主機板資訊 private static void printmotherboardinfo ...