水如烟

                 顺其自然,水到渠成 LzmTW

文或代码皆是面向初学者.我是爱好者,也是初学者.那些"文章",只按自己理解写,我是不知术语名词的.所以只供参考,也仅供参考.

导航

HOW TO:枚举网络邻居的计算机及其共享文件夹

Posted on 2005-10-17 00:02  水如烟(LzmTW)  阅读(381)  评论(0编辑  收藏  举报
Author:水如烟
关键引用空间:System.directoryservices,System.Management
说明:Form上有一个TreeView1,Button1
代码如下:
   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
        GetNetComputerNameAndShareFolder() 
   
End Sub
 

    
Private Sub GetNetComputerNameAndShareFolder() 
        
Dim n As TreeNode = AddNode("工作组或域"
        
Dim root As DirectoryEntry = New DirectoryEntry("WinNT:"
        
For Each Domain As DirectoryEntry In root.Children 
            
'枚举工作组或域 
            Dim n1 As TreeNode = AddNode(n, Domain.Name) 
            
For Each Computer As DirectoryEntry In Domain.Children 
                
'枚举指定工作组或域的计算机 
                If Computer.SchemaClassName.Equals("Computer"Then 
                    
Dim n2 As TreeNode = AddNode(n1, Computer.Name) 
                    
'枚举指定计算机的共享文件夹 
                    Dim o As New ManagementObject 
                    o.Scope 
= New ManagementScope(String.Format("\\{0}\root\cimv2", Computer.Name)) 
                    
Dim searcher As ManagementObjectSearcher = New ManagementObjectSearcher("SELECT * FROM Win32_share"
                    searcher.Scope 
= o.Scope 
                    
For Each share As ManagementObject In searcher.Get() 
                        AddNode(n2, share.GetPropertyValue(
"Name").ToString) 
                    
Next 
                
End If 
            
Next 
        
Next 
    
End Sub
 

    
Private Function AddNode(ByVal Text As StringAs TreeNode 
        
Return Me.TreeView1.Nodes.Add(Text) 
    
End Function
 

    
Private Function AddNode(ByVal Node As TreeNode, ByVal Text As StringAs TreeNode 
        
Return Node.Nodes.Add(Text) 
    
End Function