原先的文章参考:
http://www.faqts.com/knowledge_base/view.phtml/aid/9005/fid/125
由于笔记本或多网卡联网机器的原因,所以我们需要判断被系统选择使用的网卡,因此,需要在原文中的判断处获取所选择DNS列表来判断是否正在使用。
不知道还有什么更好的办法,本方法也是一种判断的方式:
以下为完全HTML源码:
(相关API请参考: http://www.xintend.com/Article/QFFrUjDCBWYWzjoBinNT.aspx )
- <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);
- </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" && objObject.DNSServerSearchOrder!=null)
- MACAddr = objObject.MACAddress;
- if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined" && objObject.DNSServerSearchOrder!=null)
- 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 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>
