<HTML>
<HEAD><TITLE>WMI Scripting HTML</TITLE>
    <META http-equiv=Content-Type content="text/html; charset=gb2312">
    <SCRIPT language=JScript event="OnCompleted(hResult,pErrorObject, pAsyncContext)" for=foo>
        document.forms[0].txtMACAddr.value = unescape(MACAddr);
        document.forms[0].txtIPAddr.value = unescape(IPAddr);
        document.forms[0].txtDNSName.value = unescape(sDNSName);
        //document.formbar.submit();
    </SCRIPT>    <SCRIPT language=JScript event=OnObjectReady(objObject,objAsyncContext) for=foo>
        if (objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true)
        {
            if (objObject.MACAddress != null && objObject.MACAddress != "undefined")
                MACAddr = objObject.MACAddress;
            if (objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined")
                IPAddr = objObject.IPAddress(0);
            if (objObject.DNSHostName != null && objObject.DNSHostName != "undefined")
                sDNSName = objObject.DNSHostName;
        }
    </SCRIPT>    <META content="MSHTML 6.00.2800.1106" name=GENERATOR>
</HEAD>
<BODY>
<OBJECT id=locator classid=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6 VIEWASTEXT>
</OBJECT>
<OBJECT id=foo classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223></OBJECT>
<SCRIPT language=JScript>
    var service = locator.ConnectServer();
    var MACAddr ;
    var IPAddr ;
    var DomainAddr;
    var sDNSName;
    service.Security_.ImpersonationLevel = 3;
    service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');
</SCRIPT><FORM id="formfoo" name="formbar" action="index.do" method="post">
    <INPUT name="txtMACAddr"> <br>
    <INPUT name="txtIPAddr"><br>
    <INPUT name="txtDNSName"></FORM>
</BODY>
</HTML>

解决方案 »

  1.   

    这是我的一段收藏代码, 你可参考参考<HTML><HEAD><TITLE>WMI Scripting HTML</TITLE>
    <META http-equiv=Content-Type content="text/html; charset=gb2312">
    <SCRIPT language=JScript event="OnCompleted(hResult,pErrorObject, pAsyncContext)" for=foo>
     document.forms[0].txtMACAddr.value=unescape(MACAddr);
     document.forms[0].txtIPAddr.value=unescape(IPAddr);
     document.forms[0].txtDNSName.value=unescape(sDNSName);
     //document.formbar.submit();
      </SCRIPT><SCRIPT language=JScript event=OnObjectReady(objObject,objAsyncContext) for=foo>
       if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true)
       {
        if(objObject.MACAddress != null && objObject.MACAddress != "undefined")
        MACAddr = objObject.MACAddress;
        if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined")
        IPAddr = objObject.IPAddress(0);
        if(objObject.DNSHostName != null && objObject.DNSHostName != "undefined")
        sDNSName = objObject.DNSHostName;
        }
      </SCRIPT><META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
    <BODY>
    <OBJECT id=locator classid=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6 VIEWASTEXT></OBJECT>
    <OBJECT id=foo classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223></OBJECT>
    <SCRIPT language=JScript>
       var service = locator.ConnectServer();
       var MACAddr ;
       var IPAddr ;
       var DomainAddr;
       var sDNSName;
       service.Security_.ImpersonationLevel=3;
       service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');
       </SCRIPT><FORM id=formfoo name=formbar action=NICPost.asp method=post>
    <INPUT value=00:05:5D:0E:C7:FA name=txtMACAddr>
    <INPUT value=192.168.0.2 name=txtIPAddr>
    <INPUT value=typ name=txtDNSName>
    </FORM>
    </BODY>
    </HTML>
      

  2.   

    用activeX是可以的,但是由于ie有安全限制,每次都弹出提示框,很不爽,如果把权限设置的太低了,是对客户的不负责任!!有没有更好的办法呢!!
      

  3.   

    动态网页的话,还是到server端拿比较方便asp: Request.ServerVariables("Remote_Addr")
    java: request.getRemoteAddr()然后直接显示到页面作为参数或通过ajax去服务端取
      

  4.   

    用服务器端容易得多了,一个XMLHttpRequest就可以解决问题,本地的话,这个权限就很难说了