或者更确切地说:我能做些什么呢?
我的目标是使用 .NET 列出家庭网络中所有可访问的网络设备。最好不要深入研究 WIN32 API,也不要求助于一系列时髦的 WMI 查询。
以下代码正是这样做的:
Imports System.DirectoryServices
(...)
Dim network As New DirectoryEntry()
network.Path = "WinNT:"
For Each workgroup As DirectoryEntry In network.Children()
For Each computer As DirectoryEntry In workgroup.Children
If computer.SchemaClassName = "Computer" Then
Console.WriteLine(computer.Name)
End If
Next
Next
Children
但是,如果您运行此代码,则在访问DirectoryEntry 实例上的 getter 时会遇到非常明显的延迟。即使我的网络只有一个工作组和三个连接的设备。我可以想象这个问题在更大的子网上会变得更糟。
再说一遍,为什么会这样,我能做些什么呢?