如何取得局域网中同一组下的所有计算机的IP和机器名??

doose 2002-05-12 09:29:18
up
...全文
79 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jhnhu 2002-05-25
  • 打赏
  • 举报
回复
到底是谁在问问题?

--还有,如何取得同组下所有登录用户名?
--(如:WinPopup就可以给网内的登录用户名发消息)
如果你认为winpopup得到发送机器登录用户名,那就错了。这个名字是发送方在内容中一起发过来的。不是一台机器 能搜索到另一台机的用户的!

本机的工作组可以通过 System.Enviornment 下的方法得到
WinNT: 也是可以列出整个网络的域 或 工作组的,然后再往下枚举。是一个树型结构。得到机器名,就可以转成IP了。
magiclee 2002-05-24
  • 打赏
  • 举报
回复
srnld(天涯)的不行.
AKaiCSDN 2002-05-24
  • 打赏
  • 举报
回复
It's right.
magiclee 2002-05-23
  • 打赏
  • 举报
回复
up
countryroad 2002-05-12
  • 打赏
  • 举报
回复
好像要用到netbios编程的吧。
magiclee 2002-05-12
  • 打赏
  • 举报
回复
还有,如何取得同组下所有登录用户名?
(如:WinPopup就可以给网内的登录用户名发消息)
magiclee 2002-05-12
  • 打赏
  • 举报
回复
还有,如何取得同组下所有登录用户名?
DBXP 2002-05-12
  • 打赏
  • 举报
回复
up
srnld 2002-05-12
  • 打赏
  • 举报
回复
您可以将路径指定为"WinNT:"枚举出一个局域网内所有的域,如下列代码所示:

DirectoryEntry objSpace = new DirectoryEntry("WinNT:");
foreach(DirectoryEntry domain in objSpace.Children)
System.Diagnostics.Debug.WriteLine(domain.Name);

如果要枚举一个组中的所有成员,首先要激活其Members成员,并查询(映射到)他的IEnumerable接口。然后遍历其中每一个元素,生成相应的入口对象并输出。如下列代码所示:

string domainName = "Domain";
string groupName = "Group";
DirectoryEntry group = new DirectoryEntry("WinNT://" + domainName + "/" + groupName + ",group");

foreach(Object member in (IEnumerable)group.Invoke("Members"))
{
DirectoryEntry dirmem = new DirectoryEntry(member);
Console.WriteLine(dirmem.Name);
}


引自:http://www.csdn.net/expert/topic/621/621288.xml?temp=.4944269

111,086

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

试试用AI创作助手写篇文章吧