下面的5行代码完成了从局域网中找出所有的机器,很有用,但就是看不懂,请教高手给讲解一下。谢谢!!!

seashell77 2003-07-18 10:14:35
foreach(DirectoryEntry domain in root.Children)
{
lb_pcName.Items.Add("★★★"+domain.Name+"★★★");
foreach(DirectoryEntry pc in domain.Children)
{
if(pc.Name!="Schema")//Schema是结束标记
lb_pcName.Items.Add(" "+pc.Name);
}
}

有谁可以给我仔细讲讲这段代码吗?谢谢啦。初学!
...全文
29 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
chinawn 2003-09-05
关注
回复
nichen 2003-09-05
using System.DirectoryServices;

private System.DirectoryServices.DirectoryEntry root;

这样做很容易被用户砍的,
我发现要列出40台机子都要2分钟,
谁都会疯掉的。
用多线程不知道如何?

那位达人做过教教我们。
回复
nichen 2003-09-05
root 和 entryPC 要引用哪个命名空间?
回复
redfoilsman 2003-09-05
gz
回复
chensan 2003-09-05
要引用System.DirectoryServices.dll到程序集
回复
RnfShadow 2003-09-05
gz
回复
arong7611 2003-07-19
看看帮助文件吧!很详细了
foreach(System.DirectoryServices.DirectoryEntry child
in entryPC.Children)
{
TreeNode newNode = new TreeNode(child.Name);
switch (child.SchemaClassName)
{
case "User" :
users.Nodes.Add(newNode);
break;
case "Group" :
groups.Nodes.Add(newNode);
break;
case "Service" :
services.Nodes.Add(newNode);
break;
}
AddPathAndProperties(newNode, child);
}

}
回复
lengtouxiaoer 2003-07-19
楼主:我将你的代码编译,提示我错误
D:\Net\C#\找出局域网中找出所有的机器\Form1.cs(102): The type or namespace name 'root' could not be found (are you missing a using directive or an assembly reference?)

是否应该加using *****?请指教
回复
XDarkCat 2003-07-19
不就是两个循环嘛~~代码本身都已经是很清晰了。
顺便问阿利一句:WMI查询指的是什么?
回复
engine_ 2003-07-19
原来是那样!
回复
ArLi2003 2003-07-19
foreach(DirectoryEntry domain in root.Children) //例举根域中的各个主域
{
lb_pcName.Items.Add("★★★"+domain.Name+"★★★");
foreach(DirectoryEntry pc in domain.Children) //该域主中的主机
{
if(pc.Name!="Schema") //Schema是结束标记
lb_pcName.Items.Add(" "+pc.Name);
}
}

楼上的select 是指WMI 查询
回复
angelior 2003-07-19
呵呵!

先試試

好像還有一個用 select 語句的
回复
panyee 2003-07-18
root就是网上邻居的全体用户的意思

Children指的是它下面所有域和工作组的集合

DirectoryEntry domain 指这些域和工作组中的一个

取得一个doamin, 把它加到lb_pcName的下拉列表里

再循环取理此doamin下的pc, 如果pc的名称不是"Schema", 也把pc的名字加到combobox里头去


就这两个循环啊
回复
相关推荐
发帖
C#
创建于2007-09-28

10.6w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2003-07-18 10:14
社区公告

让您成为最强悍的C#开发者