返回首页


NBSP如何网关和设置的IP之间的转换,C#代码

请帮我
NBSP。

回答

评论会员:游客 时间:2012/02/05
约翰・西蒙斯/取缔程序员:你可以试试这个CodeProject上的文章:如果不炸毁你的裙子,你可以尝试使用谷歌
拉克什・米尔
评论会员:游客 时间:2012/02/05
codeprelang="xml"usingSystem;usingSystem.Management; namespaceWindowsFormsApplication_CS{classNetworkManagement{///spanclass="code-keyword"</spanspanclass="code-leadattribute"summary/spanspanclass="code-keyword">/span///Set'sanewIPAddressandit'sSubmaskofthelocalmachine///spanclass="code-keyword"</spanspanclass="code-keyword"//spanspanclass="code-leadattribute"summary/spanspanclass="code-keyword">/span///spanclass="code-keyword"</spanspanclass="code-leadattribute"param/spanspanclass="code-attribute"name/spanspanclass="code-keyword"="/spanspanclass="code-keyword"ip_address"/spanspanclass="code-keyword">/spanTheIPAddressspanclass="code-keyword"</spanspanclass="code-keyword"//spanspanclass="code-leadattribute"param/spanspanclass="code-keyword">/span///spanclass="code-keyword"</spanspanclass="code-leadattribute"param/spanspanclass="code-attribute"name/spanspanclass="code-keyword"="/spanspanclass="code-keyword"subnet_mask"/spanspanclass="code-keyword">/spanTheSubmaskIPAddressspanclass="code-keyword"</spanspanclass="code-keyword"//spanspanclass="code-leadattribute"param/spanspanclass="code-keyword">/span///spanclass="code-keyword"</spanspanclass="code-leadattribute"remarks/spanspanclass="code-keyword">/spanRequiresareferencetotheSystem.Managementnamespacespanclass="code-keyword"</spanspanclass="code-keyword"//spanspanclass="code-leadattribute"remarks/spanspanclass="code-keyword">/spanpublicvoidsetIP(stringip_address,stringsubnet_mask){ManagementClassobjMC=newManagementClass("Win32_NetworkAdapterConfiguration");ManagementObjectCollectionobjMOC=objMC.GetInstances(); foreach(ManagementObjectobjMOinobjMOC){if((bool)objMO["IPEnabled"]){try{ManagementBaseObjectsetIP;ManagementBaseObjectnewIP=objMO.GetMethodParameters("EnableStatic"); newIP["IPAddress"]=newstring[]{ip_address};newIP["SubnetMask"]=newstring[]{subnet_mask}; setIP=objMO.InvokeMethod("EnableStatic",newIP,null);}catch(Exception){throw;} }}}///spanclass="code-keyword"</spanspanclass="code-leadattribute"summary/spanspanclass="code-keyword">/span///Set'sanewGatewayaddressofthelocalmachine///spanclass="code-keyword"</spanspanclass="code-keyword"//spanspanclass="code-leadattribute"summary/spanspanclass="code-keyword">/span///spanclass="code-keyword"</spanspanclass="code-leadattribute"param/spanspanclass="code-attribute"name/spanspanclass="code-keyword"="/spanspanclass="code-keyword"gateway"/spanspanclass="code-keyword">/spanTheGatewayIPAddressspanclass="code-keyword"</spanspanclass="code-keyword"//spanspanclass="code-leadattribute"param/spanspanclass="code-keyword">/span///spanclass="code-keyword"</spanspanclass="code-leadattribute"remarks/spanspanclass="code-keyword">/spanRequiresareferencetotheSystem.Managementnamespacespanclass="code-keyword"</spanspanclass="code-keyword"//spanspanclass="code-leadattribute"remarks/spanspanclass="code-keyword">/spanpublicvoidsetGateway(stringgateway){ManagementClassobjMC=newManagementClass("Win32_NetworkAdapterConfiguration");ManagementObjectCollectionobjMOC=objMC.GetInstances(); foreach(ManagementObjectobjMOinobjMOC){if((bool)objMO["IPEnabled"]){try{ManagementBaseObjectsetGateway;ManagementBaseObjectnewGateway=objMO.GetMethodParameters("SetGateways"); newGateway["DefaultIPGateway"]=newstring[]{gateway};newGateway["GatewayCostMetric"]=newint[]{1}; setGateway=objMO.InvokeMethod("SetGateways",newGateway,null);}catch(Exception){throw;}}}}///spanclass="code-keyword"</spanspanclass="code-leadattribute"summary/spanspanclass="code-keyword">/span///Set'stheDNSServerofthelocalmachine///spanclass="code-keyword"</spanspanclass="code-keyword"//spanspanclass="code-leadattribute"summary/spanspanclass="code-keyword">/span///spanclass="code-keyword"</spanspanclass="code-leadattribute"param/spanspanclass="code-attribute"name/spanspanclass="code-keyword"="/spanspanclass="code-keyword"NIC"/spanspanclass="code-keyword">/spanNICaddressspanclass="code-keyword"</spanspanclass="code-keyword"//spanspanclass="code-leadattribute"param/spanspanclass="code-keyword">/span///spanclass="code-keyword"</spanspanclass="code-leadattribute"param/spanspanclass="code-attribute"name/spanspanclass="code-keyword"="/spanspanclass="code-keyword"DNS"/spanspanclass="code-keyword">/spanDNSserveraddressspanclass="code-keyword"</spanspanclass="code-keyword"//spanspanclass="code-leadattribute"param/spanspanclass="code-keyword">/span///spanclass="code-keyword"</spanspanclass="code-leadattribute"remarks/spanspanclass="code-keyword">/spanRequiresareferencetotheSystem.Managementnamespacespanclass="code-keyword"</spanspanclass="code-keyword"//spanspanclass="code-leadattribute"remarks/spanspanclass="code-keyword">/spanpublicvoidsetDNS(stringNIC,stringDNS){ManagementClassobjMC=newManagementClass("Win32_NetworkAdapterConfiguration");ManagementObjectCollectionobjMOC=objMC.GetInstances(); foreach(ManagementObjectobjMOinobjMOC){if((bool)objMO["IPEnabled"]){if(objMO["Caption"].Equals(NIC)){try{ManagementBaseObjectnewDNS=objMO.GetMethodParameters("SetDNSServerSearchOrder");newDNS["DNSServerSearchOrder"]=DNS.Split(',');ManagementBaseObjectsetDNS=objMO.InvokeMethod("SetDNSServerSearchOrder",newDNS,null);}catch(Exception){throw;}}}}}///spanclass="code-keyword"</spanspanclass="code-leadattribute"summary/spanspanclass="code-keyword">/span///Set'sWINSofthelocalmachine///spanclass="code-keyword"</spanspanclass="code-keyword"//spanspanclass="code-leadattribute"summary/spanspanclass="code-keyword">/span///spanclass="code-keyword"</spanspanclass="code-leadattribute"param/spanspanclass="code-attribute"name/spanspanclass="code-keyword"="/spanspanclass="code-keyword"NIC"/spanspanclass="code-keyword">/spanNICAddressspanclass="code-keyword"</spanspanclass="code-keyword"//spanspanclass="code-leadattribute"param/spanspanclass="code-keyword">/span///spanclass="code-keyword"</spanspanclass="code-leadattribute"param/spanspanclass="code-attribute"name/spanspanclass="code-keyword"="/spanspanclass="code-keyword"priWINS"/spanspanclass="code-keyword">/spanPrimaryWINSserveraddressspanclass="code-keyword"</spanspanclass="code-keyword"//spanspanclass="code-leadattribute"param/spanspanclass="code-keyword">/span///spanclass="code-keyword"</spanspanclass="code-leadattribute"param/spanspanclass="code-attribute"name/spanspanclass="code-keyword"="/spanspanclass="code-keyword"secWINS"/spanspanclass="code-keyword">/spanSecondaryWINSserveraddressspanclass="code-keyword"</spanspanclass="code-keyword"//spanspanclass="code-leadattribute"param/spanspanclass="code-keyword">/span///spanclass="code-keyword"</spanspanclass="code-leadattribute"remarks/spanspanclass="code-keyword">/spanRequiresareferencetotheSystem.Managementnamespacespanclass="code-keyword"</spanspanclass="code-keyword"//spanspanclass="code-leadattribute"remarks/spanspanclass="code-keyword">/spanpublicvoidsetWINS(stringNIC,stringpriWINS,stringsecWINS){ManagementClassobjMC=newManagementClass("Win32_NetworkAdapterConfiguration");ManagementObjectCollectionobjMOC=objMC.GetInstances(); foreach(ManagementObjectobjMOinobjMOC){if((bool)objMO["IPEnabled"]){if(objMO["Caption"].Equals(NIC)){try{ManagementBaseObjectsetWINS;ManagementBaseObjectwins=objMO.GetMethodParameters("SetWINSServer");wins.SetPropertyValue("WINSPrimaryServer",priWINS);wins.SetPropertyValue("WINSSecondaryServer",secWINS); setWINS=objMO.InvokeMethod("SetWINSServer",wins,null);}catch(Exception){throw;}}}}}}}/pre/code