或者更确切地说:我能做些什么呢?
我的目标是使用.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
但是,如果您运行此代码,则在访问DirectoryEntry实例上的Children
getter时会遇到令人难以置信的明显延迟。即使我的网络只有一个工作组有三个连接的设备。我可以想象在较大的子网上问题会变得更糟。
再说一遍,为什么会这样呢?我该怎么办呢?