2011-07-01 113 views
0

我在一家网络公司担任实习工程师,并因不时需要更改IP信息而感到不快。Windows网络信息处理

我需要构建一个软件来帮助我轻松地更改这些细节。我设法设置了IP信息。但我仍然有问题。

  1. 我需要以管理员身份运行程序[右键单击],有没有一种方法可以在启动时提示它?
  2. 如何将适配器更改为DHCP?

该代码很长,我希望不要让它满意。但我一直在使用管理

  • 管理类
  • 管理基本对象
  • 管理对象集合在我的发展。

我宁愿让自己的程序来发展我的编程技能。但如果有申请这样做,我不介意知道。

回答

1

我希望这个答案给你一些insisght和方向去。

好的,网络适配器不是挺直的,但我相信你可以用WMI来实现它,特别是这个WMI object here。 MSDN文档告诉你所有的属性,方法(用于设置DHCP等)以及它所需的数据类型和值。这可能是一种方法,因为通过C#使用WMI非常简单。我希望我能为您提供一个示例,但我从未使用过特定的WMI类。您还可以通过Visual Studio服务器资源管理器访问上述WMI类,您可以在此处看到这些资源。 ..它有你可能在寻找的“EnableDHCP”方法。

enter image description here

至于要求你的程序与系统管理员权限运行,这里是从我的框架,我的设置项目中的代码。这样做是它运行任何类型的形式或逻辑之前,请求其调用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网络连接管理器?因为所有的对话我都知道它很麻烦,但它已经在那里了。

+2

而不是自己编写代码,要让应用程序以管理员身份运行,最好的办法是在应用程序的清单中正确设置它:http://stackoverflow.com/questions/5276674/how-to-force-一,WPF的应用程序到运行在管理员模式/ 5276770#5276770 – vcsjones

0

我曾经写过一个非常类似的程序。我使用了这两个项目的一些源代码来帮助我开始:Chameleon ProjectConfiguring TCP/IP Settings using WMI and C#

Chameleon项目是一个C#项目,用于帮助更改特定适配器的网络设置。另一个项目是关于如何使用C#更改使用WMI和C#的网络设置的教程。您可以查看源代码并从中学习,以帮助您制作自己需要的软件。