Я надеюсь, что этот ответ даст вам некоторое понимание и направление движения.
Хорошо, сетевой адаптер один не , что прямолинейно, но я полагаю, что вы можете достичь этого с WMI, особенно это объект WMI здесь . В документации MSDN рассказывается обо всех свойствах, методах (которые есть для настройки DHCP и т. Д.), А также типах данных и значениях, которые он принимает. Это может быть одним из подходов, поскольку использование WMI через C # довольно просто. Хотелось бы привести вам пример, но я никогда раньше не использовал этот конкретный класс WMI. Вы также можете получить доступ к указанному выше классу WMI через Visual Studio Server Explorer, который вы можете увидеть здесь. ... и у вас есть метод "EnableDHCP", который вы, вероятно, ищете.
Что касается запроса на запуск вашей программы с правами администратора, то здесь приведен код из моего проекта установки в моей среде. Это происходит до того, как он запускает какую-либо форму или логику, запрашивает глагол «runas», который вызывает UAC (если Windows имеет Vista / 7 и запрашивает привилегии администратора у пользователя)
namespace Setup {
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using Setup.Forms;
using System.Security.Principal;
using System.Diagnostics;
static class Program {
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
WindowsPrincipal principal = new WindowsPrincipal(WindowsIdentity.GetCurrent());
bool administrativeMode = principal.IsInRole(WindowsBuiltInRole.Administrator);
if (!administrativeMode) {
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.Verb = "runas";
startInfo.FileName = Application.ExecutablePath;
try {
Process.Start(startInfo);
}
catch {
return;
}
return;
}
Application.Run(new ShellForm());
}
}
}
Что касается программы для этого, Windows Network Connection Manager? Я знаю, что это громоздко из-за всех диалогов, но ... оно уже есть.