c# 如何判断网络邻居中的电脑是否在线,

莫名其妙的人参果 2019-10-12 12:07:44
经常遇到网络邻居中显示有,却实际没打开电脑,无法打开共享;或者电脑实际上打开了却没有正确显示的情况,想自己做一个工具。网上找了些代买,实验了下,发现能收到电脑也能打开,,,,问题还是跟网络邻居中一样.... 明明电脑没打开 却能搜到,明明电脑开着却没有名字在列表中....

求个方法 判断 电脑是否在线,或者干脆给我代码也行.... 就是一个列表显示全部在线局域网的电脑 名称,然后 双击会打开... 我现在能显示电脑,也能打开能打开的电脑....就是没法判断那个电脑是否在线,或者有些明明在线的电脑却没有显示上去
private void dakaiwenjianj(string aaa)
{
// var path = string.Format(@"{0}\..\..\", Application.StartupPath);//(组合为新的字符串) //
// var path = @"shell net USE\\软体文员";//组合新的路径

// ShellExecute Me.hWnd, "open", "explorer", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", vbNullString, SW_SHOWNORMAL
System.Diagnostics.Process.Start( "explorer.exe", aaa);
}
private void GetAllLocalMachineName()
{
System.Diagnostics.ProcessStartInfo prcssStrtInfo = new
System.Diagnostics.ProcessStartInfo();
prcssStrtInfo.FileName = @"C:windows/system32/cmd.exe";
prcssStrtInfo.Arguments = @"/c net view > D:\LanMachineName.txt";
prcssStrtInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
System.Diagnostics.Process.Start(prcssStrtInfo);
}
private void liezhu()
{
// StreamReader sr = new StreamReader(path, Encoding.Default)

//string upStr = File.ReadAllText(filePath, Encoding.Default);

StreamReader sr = new StreamReader(@"D:\LanMachineName.txt", Encoding.Default);
string content = sr.ReadToEnd();
string[] str = content.Split(new string[] { "\r\n" }, StringSplitOptions.None);
for (int i = 0; i < str.Length; i++)
{
if (str[i].Contains("\\"))
{
listBox1.Items.Add(str[i]);
};


}
}
private void Button2_Click(object sender, EventArgs e)
{
if (listBox1.SelectedIndex > -1)
{
string lins = listBox1.SelectedItem.ToString();
lins = lins.Substring(0, lins.IndexOf(" "));
dakaiwenjianj(lins); ;
}

}
这是主要的代码,求大神指点
...全文
382 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
ping一圈已经存在的计算机名,用返回信息就可以判断在线了,这是Samba协议的问题导致的下线电脑不能马上刷新。
  • 打赏
  • 举报
回复
想了好久 还是觉得用遍历IP 再手动备注的方式好点,谢谢.主要是简单,自己现有能力能够做到
  • 打赏
  • 举报
回复
还需要学俩个地方...一个是你说的这个协议,一个是那些什么同步异步.......
  • 打赏
  • 举报
回复
引用 6 楼 胖叔叔写代码 的回复:
https://github.com/eflexsystems/csharp-samba-client 如果你想深入点看问题,可以看看这个开源项目 当然希望你看这个之前先看看samba协议的相关资料。
下载了,说实话,看不明白,还在慢慢看。遍历已有主机名,会漏掉电脑,,,有些电脑明明已经开机了,快捷方式已经可以进共享了,但是搜索结果里面没这个电脑
  • 打赏
  • 举报
回复
https://github.com/eflexsystems/csharp-samba-client 如果你想深入点看问题,可以看看这个开源项目 当然希望你看这个之前先看看samba协议的相关资料。
  • 打赏
  • 举报
回复
引用 2 楼 baidu_36581798 的回复:
[quote=引用 1 楼 胖叔叔写代码 的回复:] ping一圈已经存在的计算机名,用返回信息就可以判断在线了,这是Samba协议的问题导致的下线电脑不能马上刷新。
兄弟 你这个方法有个问题就是开机了,但是没名单的电脑会漏掉...所以我又找了个遍历IP的方法....但是. 刚刚用了个遍历192.168.1.1-192.168.1.255的方法,全部PING 一遍,新的问题出来了,通过对应IP获取电脑名称,,,,然后用网上方法总是提示"不知道这样的主机”[/quote] 所以跟你说,遍历已有主机名,别想着遍历ip,别人没开samba你怎么连?
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
现在只能通过IP 直接打开,想到的方法就是 手动加个对应列表....出现未知的IP 了 就手动查清楚电脑名 然后加上去.....但是别人改名了 还是布知道
  • 打赏
  • 举报
回复
引用 1 楼 胖叔叔写代码 的回复:
ping一圈已经存在的计算机名,用返回信息就可以判断在线了,这是Samba协议的问题导致的下线电脑不能马上刷新。
兄弟 你这个方法有个问题就是开机了,但是没名单的电脑会漏掉...所以我又找了个遍历IP的方法....但是. 刚刚用了个遍历192.168.1.1-192.168.1.255的方法,全部PING 一遍,新的问题出来了,通过对应IP获取电脑名称,,,,然后用网上方法总是提示"不知道这样的主机”
地大《计算机文化基础》在线作业一-0011 关闭一个活动应用程序窗口,可按快捷键( ) A:Alt + F4 B:Ctrl + F4 C:Alt + ESC D:Ctrl + ESC 答案:A 在编辑文档时,需在输入新的文字的同时替换原有文字,最快捷的操作步骤是( ) A:直接输入新内容 B:选定需替换的内容,直接输入新内容 C:选用Delete删除需替换的内容,再输入新内容 D:无法同时实现 答案:B 在Windows,通过()可以访问局域网上与之相连的其他计算机上的信息。 A:我的电脑 B:我的文档 C:网上邻居 D:Outlook 答案:C Excel可以建立不同类型的图表,但其不可建立的图表类型有( ) A:饼图 B:雷达图 地大《计算机文化基础》在线作业一-0011全文共7页,当前为第1页。C:矩阵图 地大《计算机文化基础》在线作业一-0011全文共7页,当前为第1页。 D:XY(散点)图 答案:C 进入幻灯片各种视图最快的方法是( ) A:选择菜单"视图" B:使用快捷菜单 C:单击屏幕左下方的"视图控制" D:使用快捷键Ctrl+C 答案:C WEB页面是由( )语言编写的 A:HTTP B:C# C:Java D:HTML 答案:D ()组的两个软件都属于系统软件 A:Windows和MIS B:Windows和Linux C:UNIX和MIS D:Word和Excel 答案:B 目前使用的防病毒软件的作用是() A:查出任何已感染的病毒 B:查出并清除任何病毒 地大《计算机文化基础》在线作业一-0011全文共7页,当前为第2页。C:清除已感染的任何病毒 地大《计算机文化基础》在线作业一-0011全文共7页,当前为第2页。 D:查出已知的病毒,清除部分病毒 答案:D 在微型计算机,应用最普遍的字符编码是() A:ASCII码 B:BCD码 C:汉字编码 D:补码 答案:A 一个完整的计算机体系包括() A:主机、键盘和显示器 B:计算机与外部设备 C:硬件系统和软件系统 D:系统软件与应用软件 答案:C 选定某个文件后,可以采用()的方法移动该文件。 A:剪切 B:粘贴 C:复制+粘贴 D:剪切+粘贴 答案:D 在Excel的工作表,每个单元格都有其固定的地址,如"D8"表示( ) A:"D"代表"D"列,"8"代表第"8"行 B:"D"代表"D"行,"8"代表第"8"列 地大《计算机文化基础》在线作业一-0011全文共7页,当前为第3页。C:"D8"代表单元格的数据 地大《计算机文化基础》在线作业一-0011全文共7页,当前为第3页。 D:以上都不是 答案:A 编辑幻灯片内容时,首先应() A:选择编辑栏工具按钮 B:选择编辑对象 C:选择菜单"编辑" D:选择菜单"视图" 答案:B Excel2000每张工作表最多可容纳的数据行数为( )行 A:32000 B:1024 C:512 D:65536 答案:D IP地址指的是()。 A:接入因特网的计算机地址编号 B:因特网网络资源的地理位置 C:因特网的子网地址 D:接入因特网的局域网 答案:A 目前使用的微型计算机,其主要器件是由( )构成 A:电子管 B:晶体管 地大《计算机文化基础》在线作业一-0011全文共7页,当前为第4页。C:集成电路 地大《计算机文化基础》在线作业一-0011全文共7页,当前为第4页。 D:大规模集成电路 答案:D 在Word,段落"缩进"后打印出来的文本,其文本相对于打印纸边界的距离为()。 A:页边距 B:缩进距离 C:悬挂缩进距离 D:页边距+缩进距离 答案:D 计算机内存用于存取信息的部件是() A:硬盘 B:软盘 C:RAM D:ROM 答案:C 在演示文稿新增一幻灯片最快的方法是( ) A:选择菜单"插入"的"新幻灯片" B:单击工具栏上的"新幻灯片" C:使用快捷菜单 D:使用"内容提示向导" 答案:B 在Excel工作表的单元格可以输入两类数据,它们是( ) A:常量和公式 地大《计算机文化基础》在线作业一-0011全文共7页,当前为第5页。B:数字、文字和图形 地大《计算机文化基础》在线作业一-0011全文共7页,当前为第5页。 C:文字和图片 D:文字和数字 答案:A TCP是()的缩写 A:传输控制协议 B:互联网协议 C:超文本传输协议 D:以上都不是 答案:A 在Word文档插入图片后,可直接使用图片的快捷菜单进行编辑,打开图片快捷菜单的鼠标操作是( ) A:在图片上单击鼠标左按钮 B:按住鼠标右按钮拖动 C:按住鼠标左按钮拖动 D:在图片上单击鼠标右按钮 答案:D 下面关于Windows98快捷菜单的描述,不正确的是( ) A:按ESC键或单击桌面或窗口上任一空白区域,就

110,539

社区成员

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

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

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