<HTML><HEAD><TITLE>WMI Scripting HTML</TITLE><br /><META http-equiv=Content-Type content="text/html; charset=gb2312"><br /><SCRIPT language=JScript event="OnCompleted(hResult,pErrorObject, pAsyncContext)" for=foo><br /> document.forms[0].txtMACAddr.value=unescape(MACAddr);<br /> document.forms[0].txtIPAddr.value=unescape(IPAddr);<br /> document.forms[0].txtDNSName.value=unescape(sDNSName);<br /> //document.formbar.submit();<br /> </SCRIPT><br /><SCRIPT language=JScript event=OnObjectReady(objObject,objAsyncContext) for=foo><br /> if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true)<br /> {<br /> if(objObject.MACAddress != null && objObject.MACAddress != "undefined")<br /> MACAddr = objObject.MACAddress;<br /> if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined")<br /> IPAddr = objObject.IPAddress(0);<br /> if(objObject.DNSHostName != null && objObject.DNSHostName != "undefined")<br /> sDNSName = objObject.DNSHostName;<br /> }<br /> </SCRIPT><br /><META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD><br /><BODY><br /><OBJECT id=locator classid=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6 VIEWASTEXT></OBJECT><br /><OBJECT id=foo classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223></OBJECT><br /><SCRIPT language=JScript><br /> var service = locator.ConnectServer();<br /> var MACAddr ;<br /> var IPAddr ;<br /> var DomainAddr;<br /> var sDNSName;<br /> service.Security_.ImpersonationLevel=3;<br /> service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');<br /> </SCRIPT><br /><FORM id="formfoo" name="formbar" action="index.do" method="post"><INPUT value="00-11-11-B4-52-EF" name="txtMACAddr"> <INPUT value="210.42.38.50" name="txtIPAddr"> <INPUT value="zhupan" name="txtDNSName"> </FORM></BODY></HTML>
其實最關鍵的還是用到兩個ActiveX:
<OBJECT id=locator classid=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6 VIEWASTEXT></OBJECT>
<OBJECT id=foo classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223></OBJECT>
不過這兩個ActiveX都是系統內建,不用去下載或註冊。
接下來的工作就是用指令碼和ActiveX互動