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

本文介绍了如何使用VB.NET枚举网络邻居的计算机及其共享文件夹。通过DirectoryServices和ManagementObjectSearcher类,遍历工作组或域中的计算机,并获取其共享文件夹信息,展示在TreeView控件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

 

 

 

 

 

Author:水如烟(http://blog.youkuaiyun.com/lzmtw)

 

 

 

Date: 2005-4-26

 

 

 

 

 

 

关键引用空间: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 String) As TreeNode

 

 

 

        Return Me.TreeView1.Nodes.Add(Text)

 

 

 

    End Function

 

 

 

 

 

 

    Private Function AddNode(ByVal Node As TreeNode, ByVal Text As String) As TreeNode

 

 

 

        Return Node.Nodes.Add(Text)

 

 

 

    End Function

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值