JScript中调用ActiveX获取访客网卡MAC地址实现代码

时间:2022-03-11 15:14:13

JScript调用activeXObject获取访客的网卡MAC地址,注意只能IE下运行(IE8+没测试),会有安全提示,提示如下:

复制代码代码如下:

在此页上的ActiveX控件和本页上的其他部分的交互可能不安全。你想允许这种交互吗?

 

JScript中调用ActiveX获取访客网卡MAC地址实现代码

注意选择”是“,要不报错无法获取:

JScript中调用ActiveX获取访客网卡MAC地址实现代码

源代码如下:

<html> 
<head> 
<title>JScript+ActiveX获取访客MAC网卡地址</title> 
</head> 
<body> 
<object classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6" id="locator" style="display:none;visibility:hidden"></object> 
<object classid="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223" id="foo" style="display:none;visibility:hidden"></object> 
<form name="myForm"> 
<br/>MAC地址:<input type="text" name="macAddress"> 
<br/>IP地址:<input type="text" name="ipAddress"> 
<br/>主机名:<input type="text" name="hostName"> 
</form> 
</body> 
</html>
<script language="javascript">
    var sMacAddr = "";
    var sIPAddr = "";
    var sDNSName = "";
    var service = locator.ConnectServer();
    service.Security_.ImpersonationLevel = 3;
    service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration'); 
  </script> 
<script FOR="foo" EVENT="OnObjectReady(objObject,objAsyncContext)" LANGUAGE="JScript"> 
       if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true){ 
                if(objObject.IPEnabled && objObject.IPAddress(0) !=null && objObject.IPAddress(0) != "undefined" && objObject.DNSServerSearchOrder!=null) 
                 sIPAddr = objObject.IPAddress(0); 
                if(objObject.MACAddress != null &&objObject.MACAddress != "undefined") 
             sMacAddr = objObject.MACAddress; 
                if(objObject.DNSHostName != null &&objObject.DNSHostName != "undefined") 
                       sDNSName = objObject.DNSHostName; 
       } 
  </script> 

<script FOR="foo" EVENT="OnCompleted(hResult,pErrorObject, pAsyncContext)" LANGUAGE="JScript"> 
  myForm.macAddress.value=sMacAddr; 
  myForm.ipAddress.value=sIPAddr; 
  myForm.hostName.value=sDNSName; 
  </script>