js如何获取客户端的MAC地址?  我从网上搜总是提示"对象不支持“ConnectServer”属性或方法" 需要引用什么东西么? 求解???JavaScriptMac

解决方案 »

  1.   

    只能获取服务器本身和他同一内网下的MAC
      

  2.   


            public static String GetMachineCode()
            {
                try
                {
                    if (!String.IsNullOrEmpty(_machineCode))
                        return _machineCode;                List<String> liTemp = new List<String>();                ManagementClass mc = new ManagementClass("Win32_Processor");
                    ManagementObjectCollection moc = mc.GetInstances();                foreach (ManagementObject mo in moc)
                        liTemp.Add(mo.Properties["ProcessorId"].Value.ToString());                //取MAC地址
                    NetworkInterface[] nifs = NetworkInterface.GetAllNetworkInterfaces();
                    foreach (NetworkInterface n in nifs)
                    {
                        if (n.NetworkInterfaceType == NetworkInterfaceType.Ethernet)
                            liTemp.Add(n.GetPhysicalAddress().ToString());
                    }                liTemp.Sort();//排序
                    String strCode = String.Empty;
                    foreach (String s in liTemp)
                    {
                        strCode += "^$";
                        strCode += s;
                    }                strCode = FormsAuthentication.HashPasswordForStoringInConfigFile(strCode, "MD5");
                    strCode = FormsAuthentication.HashPasswordForStoringInConfigFile(strCode, "MD5");
                    _machineCode = strCode;                return strCode;
                }
                catch
                {
                    return "";
                }
            }
      

  3.   

    利用Windows提供的WMI查询,不管你是JS还是VBS,都很简单
    但前提是,脚本的执行者有权限获取这些信息
    http://www.jscode.cn/web/v1804
      

  4.   

    用了一段JS代码 获取了本地的MAC地址 但是出现了一个问题:必须把浏览器设置的“对未标记为安全脚本的ActiveX控件” 设置成启用。因为这个网站是公司用的,有几百人用,不可能每个人都跟他们说设置成启用,有没有一个办法写一个程序设置浏览器的那个属性呢。或者如何把这个js脚本做成安全的ActiveX控件 ,求高手解决。
    代码如下window.onload = function () {
                var locator = new ActiveXObject("WbemScripting.SWbemLocator");
                var service = locator.ConnectServer(".");
                var properties = service.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled =True");
                var e = new Enumerator(properties);
                {
                    var p = e.item();
                    var mac = p.MACAddress;
                    document.getElementById('<%=localMac.ClientID %>').value = mac;
                }
            };
      

  5.   

    LZ解决了吗?
    好像JS也只是支持IE吧,其它的支持不了吧.  而且只是用于win系统还有3楼说的WMI  也只是支持WIN系统. 
      

  6.   

    做成ACTIVEX需要安装还是用FLASH好,大多数电脑都装了FLASH可以用FLASH调用C++代码,百度上搜索FLASCC