二.Visual C#使用ADSI構建網絡計算機樹形圖
創建DirectoryEntry類實例後,並為該實例指定一個路徑,指示所訪問的系統上使用的提供程序的類型以及要綁定到的對象。表03為DirectoryEntry類可以訪問的服務提供程序以及每種服務提供程序的標識符。
服務提供程序 路徑標識符 Windows 2000或Windows XP WinNT://path 輕量目錄訪問協議(LDAP) LDAP://path Novell NetWare目錄服務 NDS://path Novell Netware 3.x NWCOMPAT://path表03:DirectoryEntry類訪問的服務提供程序以及每種服務提供程序的標識符
當創建DirectoryEntry類實例,並把此實例綁定到指定路徑的Active Directory中的節點。如果是此節點對應的是Windows NT服務提供程序,那就可以訪問此節點下域、計算機、打印隊列和會話。本文就是通過DirectoryEntry此種功能訪問網絡中計算機,從而構建網絡計算機樹形圖的。下面就來介紹具體的實現方法。
三.本文中介紹的程序設計及運行環境
(1).微軟視窗2000 服務器版。
(2).Visual Studio .Net 2003企業結構版,.Net Framework SDK 4322。
四.Visual C#構建網絡計算機樹形圖的實現步驟
Visual C#構建網絡計算機樹形圖的具體步驟如下:
1. 啟動Visual Studio .Net。
2. 選擇菜單【文件】|【新建】|【項目】後,彈出【新建項目】對話框。
3. 將【項目類型】設置為【Visual C#項目】。
4. 將【模板】設置為【Windows應用程序】。
5. 在【名稱】文本框中輸入【Visual C#構建網絡計算機樹形圖】。
6. 在【位置】的文本框中輸入【E:\VS.NET項目】,然後單擊【確定】按鈕,這樣在"E:\VS.Net項目"目錄中就產生了名稱為"Visual C#構建網絡計算機樹形圖"的文件夾,並在裡面創建了名稱為"Visual C#構建網絡計算機樹形圖"的項目文件。
7. 把Visual Studio .Net的當前窗口切換到【Form1.cs(設計)】窗口,並從【工具箱】中的【Windows窗體組件】選項卡中往Form1窗體中拖入下列組件,並執行相應的操作:
一個TreeView組件,名稱為treeVIEw1,使用此組件來顯示網絡計算機的樹形圖。
一個Button組件,通過此組件的Click事件來讀取網絡中域和工作組,並在此Button組件拖入Form1的設計窗體後,雙擊它,則系統會在Form1.cs文件分別產生此組件的Click事件對應的處理代碼。
8. 在【解決方案資源管理器】窗口中,雙擊Form1.cs文件,進入Form1.cs文件的編輯界面。並在Form1.cs文件的開頭,用下列導入命名空間代碼替代系統缺省的導入命名空間代碼。
using System.Drawing ;
using System.Collections ;
using System.ComponentModel ;
using System.Windows.Forms ;
using System.Data ;
using System.Threading ;
9. 在Form1.cs的class代碼區中添加下列代碼,下列代碼是創建DirectoryEntry類實例,並把此實例綁定到Windows NT服務提供程序:
private DirectoryEntry entryPC = new DirectoryEntry ( "WinNT:" ) ;