Я новичок в c #, который хочет больше узнать о программировании. Итак, я начал с простого инструмента, который может установить адрес выбранного сетевого адаптера на статический или динамический (например, свойства Windows TCP / IP. Я установил дизайн инструмента точно так же, как свойства TCP / IP).
Установка статического IP-адреса для сетевого адаптера работает довольно хорошо.
Но когда я отключаю компьютер от сети, а затем устанавливаю IP-адрес сетевого адаптера на динамический (получить IP-адрес автоматически »), он не устанавливает динамический IP-адрес Windows. Я полностью потерян с этой проблемой, у меня есть понятия не имею, как это решить.
Я понимаю, что автоматически получаю IP-адрес только при подключении к сети (где включен маршрутизатор или DHCP-сервер).
Но когда я отключаю компьютер от сети, и я устанавливаю свойства IP на динамический со свойствами Windows TCP / IP, это работает хорошо. Что такое работа в моем коде?
Большое спасибо за вашу помощь!
Ниже кода, который я использую:
public void setDHCPMode()
{
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if (!(bool)mo["ipEnabled"])
continue;
try
{
string desc = (string)(mo["Description"]);
if (desc == NICcomboBox.Text)
{
ManagementBaseObject newDNS = mo.GetMethodParameters("SetDNSServerSearchOrder");
newDNS["DNSServerSearchOrder"] = null;
ManagementBaseObject enableDHCP = mo.InvokeMethod("EnableDHCP", null, null);
ManagementBaseObject setDNS = mo.InvokeMethod("SetDNSServerSearchOrder", newDNS, null);
}
toolStripStatusLabel1.Text = "DHCP set";
}
catch (Exception ex)
{
MessageBox.Show("Unable to set DHCP : " + ex.Message);
}
}
}