有的时候需要根据MAC来限定登录的计算机,为此查找了不少资料(有来自博客堂和CSDN),下面是获得远程计算机的MAC和局域网中计算机列表的方法。
需要引用的命名空间
using System;
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System.Collections;
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System.Diagnostics;
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System.Management;
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System.Net;
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System.DirectoryServices;
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System.Runtime.InteropServices;
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
using System.Text.RegularExpressions;
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
获得本机的MAC地址
public static string GetLocalMac()
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string strMac = string.Empty;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
ManagementObjectCollection moc = mc.GetInstances();
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
foreach(ManagementObject mo in moc)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if ((bool)mo["IPEnabled"] == true)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
strMac += mo["MacAddress"].ToString() ;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return strMac.ToUpper();
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
获得远程计算机的MAC地址
方法一:使用API,利用ARP协议,只能获得同网段计算机的MAC
[DllImport("Iphlpapi.dll")]
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
private static extern int SendARP(Int32 dest,Int32 host,ref Int64 mac,ref Int32 length);
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
[DllImport("Ws2_32.dll")]
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
private static extern Int32 inet_addr(string ip);
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
public static string GetRemoteMac(string clientIP)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string ip = clientIP;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if ( ip == "127.0.0.1")
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
ip = GetLocalIP()[0];
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Int32 ldest=inet_addr(ip);
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Int64 macinfo=new Int64();
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Int32 len=6;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
try
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SendARP(ldest,0,ref macinfo,ref len);
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
catch
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return "";
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string originalMACAddress = Convert.ToString(macinfo,16);
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (originalMACAddress.Length<12)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
originalMACAddress = originalMACAddress.PadLeft(12,'0');
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string macAddress;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if(originalMACAddress!="0000" && originalMACAddress.Length==12)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string mac1,mac2,mac3,mac4,mac5,mac6;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
mac1=originalMACAddress.Substring(10,2);
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
mac2=originalMACAddress.Substring(8,2);
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
mac3=originalMACAddress.Substring(6,2);
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
mac4=originalMACAddress.Substring(4,2);
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
mac5=originalMACAddress.Substring(2,2);
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
mac6=originalMACAddress.Substring(0,2);
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
macAddress=mac1+"-"+mac2+"-"+mac3+"-"+mac4+"-"+mac5+"-"+mac6;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
macAddress="";
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return macAddress.ToUpper();
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
方法二:使用windows的命令nbtstat
public static string GetRemoteMacByNetBIOS(string clientIP)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string ip = clientIP;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if ( ip == "127.0.0.1")
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
ip = GetLocalIP()[0];
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string dirResults="";
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
ProcessStartInfo psi = new ProcessStartInfo();
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Process proc = new Process();
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
psi.FileName = "nbtstat.exe";
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//psi.RedirectStandardInput = false;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
psi.RedirectStandardOutput = true;psi.RedirectStandardError=true;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
psi.Arguments = "-A " + ip;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
psi.UseShellExecute = false;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
proc = Process.Start(psi);
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
dirResults = proc.StandardOutput.ReadToEnd();
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string error = proc.StandardError.ReadToEnd();
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
proc.WaitForExit();
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
dirResults=dirResults.Replace("\r","").Replace("\n","").Replace("\t","");
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Regex reg=new Regex("Mac[ ]{0,}Address[ ]{0,}=[ ]{0,}(?((.)*?))__MAC",RegexOptions.IgnoreCase|RegexOptions.Compiled);
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Match mc=reg.Match(dirResults+"__MAC");
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if(mc.Success)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return mc.Groups["key"].Value.ToUpper();
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return "";
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
使用此方法需要足够的操作系统的权限。在Web中,可以将ASP.net用户加入管理员组。
对于上面两个地方都用到的GetLocalIP是一个获取本机IP的方法:
public static string[] GetLocalIP()
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string hostName = Dns.GetHostName();
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
IPHostEntry ipEntry=Dns.GetHostByName(hostName);
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
IPAddress[] arr=ipEntry.AddressList;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string[] result = new string[arr.Length];
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
for(int i=0;i
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
result[i] = arr[i].ToString();
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return result;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
获得局域网内计算机的列表
方法一:使用逐个IP地址扫描的方式
利用多线程来对每个IP逐个扫描。
ComputerAddressInfo cai = new ComputerAddressInfo("192.168.1",42,53);
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
Thread thScan = new Thread(new ThreadStart(cai.ScanComputers));
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
thScan.Start();
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
//
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
public class ComputerAddressInfo
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private int startIP = 0;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private int endIP = 0;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private string ipPrefix = "";
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private ArrayList computerList = null;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public ComputerAddressInfo(string ipPrefix,int startIP,int endIP)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.startIP = startIP;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.endIP = endIP;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.ipPrefix = ipPrefix;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
computerList = new ArrayList();
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public void ScanComputers()
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
for(int i=startIP;i<=endIP;i++)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string scanIP = ipPrefix +"."+i.ToString();
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
IPAddress myScanIP = IPAddress.Parse(scanIP);
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
IPHostEntry myScanHost = null;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string[] arr = new string[2];
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
try
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
myScanHost = Dns.GetHostByAddress(myScanIP);
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
catch
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
continue;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (myScanHost != null)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
arr[0] = myScanHost.HostName;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
arr[1] = scanIP;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
computerList.Add(arr);
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
此方法速度比较慢。
方法二:使用Active Directory
public static ArrayList GetComputerList()
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
ArrayList list = new ArrayList();
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//or use "WinNT://your_domain_name"
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
DirectoryEntry root = new DirectoryEntry("WinNT:");
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
DirectoryEntries domains = root.Children;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
domains.SchemaFilter.Add("domain");
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
foreach (DirectoryEntry domain in domains)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
DirectoryEntries computers = domain.Children;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
computers.SchemaFilter.Add("computer");
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
foreach (DirectoryEntry computer in computers)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
object[] arr = new string[3];
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
IPHostEntry iphe = null;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
try
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
iphe = Dns.GetHostByName(computer.Name);
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
catch
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
continue;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
arr[0] = domain.Name;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
arr[1] = computer.Name;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if ( iphe != null && iphe.AddressList.Length >0 )
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
for ( int i=0;i
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
arr[2] += iphe.AddressList[i].ToString()+",";
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
arr[2] = arr[2].ToString().Remove(arr[2].ToString().Length-1,1);
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
arr[2] = "";
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
list.Add(arr);
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return list;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
此方法速度也比较慢。
后记
上面两个获得局域网内的计算机列表的方法都很费时,目前还没有找到更好的办法。