c# 如何取客户端Mac

解决方案 »

  1.   

    调用Windows的DOS命令,从输出结果中读取MAC地址:public static String getMACAddress() { String address = "";
    String os = System.getProperty("os.name");
    if ( os != null && os.startsWith("Windows")) { 
    try { 
    String command = "cmd.exe /c ipconfig /all";
    Process p = Runtime.getRuntime().exec(command);
    BufferedReader br =
    new BufferedReader(
    new InputStreamReader(p.getInputStream()));
    String line;
    while ((line = br.readLine()) != null) { 
    if (line.indexOf("Physical Address") > 0) { 
    int index = line.indexOf(":");
    index += 2;
    address = line.substring(index);
    break;
    }
    }
    br.close();
    return address.trim();
    }
    catch (IOException e) { }
    }
    return address;
    }
      

  2.   

    命名空间“System”中不存在类型或命名空间名称“getProperty”(是缺少程序集引用吗?)这是什么错误?
    baidu上一直找不到解决的办法?
      

  3.   

    http://www.cnblogs.com/deckard/archive/2009/04/07/1430807.html
    看看这个吧
      

  4.   

    这好象是java的,找不到解决方法
      

  5.   

    http://www.cnblogs.com/deckard/archive/2009/04/07/1430807.html这里的只能取到服务器端的,取不到客户端的
      

  6.   

    你到底是web还是winform程序如果是winform服务器端可以取到,代码放到客户端怎么娶不到如果是web用   Request.UserHostAddress
      

  7.   

    是web
    Request.UserHostAddress
    这个取到我ip会变,今天是这个ip
    明天可能就另外一个ip了
    所以我想取Mac地址
      

  8.   

    /// <summary>
            /// 获取MAC地址
            /// </summary>
            /// <returns></returns>
            public static string[] GetMacAddress()
            {
                ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
                ManagementObjectCollection moc = mc.GetInstances();
                //****先得到网卡数目                       
                int i = 0;
                foreach (ManagementObject mo in moc)
                {
                    if ((bool)mo["IPEnabled"] == true)
                    {
                        i++;
                    }
                    mo.Dispose();
                }
                //***赋值给数组    
                ManagementClass mc_2 = new ManagementClass("Win32_NetworkAdapterConfiguration");
                ManagementObjectCollection moc_2 = mc_2.GetInstances();
                string[] array = new string[i];
                int j = 0;
                foreach (ManagementObject mo in moc_2)
                {
                    if ((bool)mo["IPEnabled"] == true)
                    {
                        string delcolon = mo["MacAddress"].ToString();
                        array[j] = delcolon;
                        j++;
                    }
                    mo.Dispose();
                }
                return array;
      

  9.   

    网页的话在request里面
    WInForm的话好像在System.process的命名空间下有一个process控件,这个控件可以得到
      

  10.   

    毫无意义,数据被路由器转来转去,MAC早不是最初的MAC了