Windows网络信息处理
我在一家网络公司担任实习工程师,并因不时需要更改IP信息而感到不快。Windows网络信息处理
我需要构建一个软件来帮助我轻松地更改这些细节。我设法设置了IP信息。但我仍然有问题。
- 我需要以管理员身份运行程序[右键单击],有没有一种方法可以在启动时提示它?
- 如何将适配器更改为DHCP?
该代码很长,我希望不要让它满意。但我一直在使用管理
- 管理类
- 管理基本对象
- 管理对象集合在我的发展。
我宁愿让自己的程序来发展我的编程技能。但如果有申请这样做,我不介意知道。
我希望这个答案给你一些insisght和方向去。
好的,网络适配器不是那挺直的,但我相信你可以用WMI来实现它,特别是这个WMI object here。 MSDN文档告诉你所有的属性,方法(用于设置DHCP等)以及它所需的数据类型和值。这可能是一种方法,因为通过C#使用WMI非常简单。我希望我能为您提供一个示例,但我从未使用过特定的WMI类。您还可以通过Visual Studio服务器资源管理器访问上述WMI类,您可以在此处看到这些资源。 ..它有你可能在寻找的“EnableDHCP”方法。
至于要求你的程序与系统管理员权限运行,这里是从我的框架,我的设置项目中的代码。这样做是它运行任何类型的形式或逻辑之前,请求其调用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网络连接管理器?因为所有的对话我都知道它很麻烦,但它已经在那里了。
我曾经写过一个非常类似的程序。我使用了这两个项目的一些源代码来帮助我开始:Chameleon Project和Configuring TCP/IP Settings using WMI and C#
Chameleon项目是一个C#项目,用于帮助更改特定适配器的网络设置。另一个项目是关于如何使用C#更改使用WMI和C#的网络设置的教程。您可以查看源代码并从中学习,以帮助您制作自己需要的软件。
而不是自己编写代码,要让应用程序以管理员身份运行,最好的办法是在应用程序的清单中正确设置它:http://*.com/questions/5276674/how-to-force-一,WPF的应用程序到运行在管理员模式/ 5276770#5276770 – vcsjones