我正在使用这段代码来输出我网络上所有计算机的列表(语言是 jscript.net,但这只是对 C# 的一个小操作)。
var parentEntry = new DirectoryEntry();
parentEntry.Path = "WinNT:";
for(var childEntry in parentEntry.Children) {
if(childEntry.SchemaClassName == "Domain") {
var parentDomain = new TreeNode(childEntry.Name);
this.treeView1.Nodes.Add(parentDomain);
var subChildEntry : DirectoryEntry;
var subParentEntry = new DirectoryEntry();
subParentEntry.Path = "WinNT://" + childEntry.Name;
for(subChildEntry in subParentEntry.Children) {
var newNode1 = new TreeNode(subChildEntry.Name);
if(subChildEntry.SchemaClassName == "Computer") {
parentDomain.Nodes.Add(newNode1);
}
}
}
}
我有两个问题:
1)它非常慢。显示大约 100 台计算机,加载大约需要 1 分钟。
2) 我只想获取当前在线的计算机列表。
这是可以做到的,因为我已经看到其他程序这样做了,而且它们的速度要快得多,而且它们只能在线显示那些程序。
我错过了什么吗?