DNSを変更するためのこの機能があります:
/**
* Change dns
*
* @param bool
*/
private void changeDns(bool develop)
{
ManagementClass mClass = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection mObjCol = mClass.GetInstances();
foreach (ManagementObject mObj in mObjCol)
{
if ((bool) mObj["IPEnabled"])
{
ManagementBaseObject mboDNS = mObj.GetMethodParameters("SetDNSServerSearchOrder");
if (mboDNS != null)
{
if (develop == true)
{
// Set dns
mboDNS["DNSServerSearchOrder"] = this.dnsServer;
// Log info
foreach (String dns in this.dnsServer) {
this.addLog(dns, "DNS servers change to:", Color.Green);
}
}
else
{
// Set dns
mboDNS["DNSServerSearchOrder"] = null;
// Log info
this.addLog("DHCP", "DNS servers change to:", Color.Green);
}
// Change dns
mObj.InvokeMethod("SetDNSServerSearchOrder", mboDNS, null);
}
}
}
}
しかし今、私は別の方法が必要です。win32のDNSを取得するには?
MSDN からこのコードを試しましたが、約 10 件の結果が返されました。