Windows网络信息操作

时间:2011-07-01 16:46:13

标签: c# .net network-programming

我是一家网络公司的实习工程师,我不时会不得不改变IP信息。

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

  1. 我需要以管理员身份运行程序[右键单击],有没有办法在启动时进行编程以提示它?
  2. 如何将适配器更改为DHCP?
  3. 代码很长,我希望不要满足于此。但我一直在使用管理

    • 管理类
    • 管理基础对象
    • 我的开发中的管理对象集合。

    我更愿意制作自己的程序来培养我的编程技巧。但如果有申请,我不介意知道。

2 个答案:

答案 0 :(得分:1)

我希望这个答案会给你一些明确的指示和方向。

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

enter image description here

至于要求你的程序运行管理权限,这里是我框架中的安装项目的代码。这样做是在它运行任何形式或逻辑之前,请求调用UAC的“runas”动词(如果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网络连接管理器?我知道它很麻烦,因为所有的对话框,但它已经存在了。

答案 1 :(得分:0)

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

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