Visual C 中用WMI獲取遠端計算機資訊

2021-04-24 05:12:31 字數 2703 閱讀 8411

如果不使用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 ...