Subversion Repositories vs2008

Rev

Blame | Last modification | View Log | RSS feed

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net.NetworkInformation;
using Microsoft.Win32;

namespace setMTU {
    public partial class Form1 : Form {
        public Form1() {
            InitializeComponent();
            ShowNetworkInterface(this);
            this.button1.Select();
        }

        public static void ShowNetworkInterface(Form1 obj) {
            IPGlobalProperties computerProperties = IPGlobalProperties.GetIPGlobalProperties();
            NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
            obj.textArea.AppendText("Interface information for " + computerProperties.HostName+"."+computerProperties.DomainName+"\n");
            /*
            if (nics == null || nics.Length < 1) {
                obj.textArea.AppendText("  No network interfaces found.\n");
                return;
            }
            */

            obj.textArea.AppendText("  Number of interfaces ..... : " + (nics.Length - 1) + "\n");
            foreach (NetworkInterface adapter in nics) {
                if (adapter.NetworkInterfaceType == NetworkInterfaceType.Loopback) continue;

                IPInterfaceProperties properties = adapter.GetIPProperties();
                obj.textArea.AppendText("\n");
                obj.textArea.AppendText(adapter.Description + "\n");
                obj.textArea.AppendText(String.Empty.PadLeft(adapter.Description.Length, '=')+"\n");
                obj.textArea.AppendText("  Interface type ........... : " + adapter.NetworkInterfaceType + "\n");
                obj.textArea.AppendText("  Interface name ........... : " + adapter.Name + "\n");
                obj.textArea.AppendText("  Interface id ............. : " + adapter.Id + "\n");
                obj.textArea.AppendText("  Physical Address ......... : " + adapter.GetPhysicalAddress().ToString() + "\n");
                obj.textArea.AppendText("  Operational status ....... : " + adapter.OperationalStatus + "\n");

                string versions = "";
                if (adapter.Supports(NetworkInterfaceComponent.IPv4)) {
                    versions = "IPv4";
                }
                if (adapter.Supports(NetworkInterfaceComponent.IPv6)) {
                    if (versions.Length > 0) versions += " ";
                    versions += "IPv6";
                }
                obj.textArea.AppendText("  IP version ............... : " + versions + "\n");
                if (adapter.Supports(NetworkInterfaceComponent.IPv4)) {
                    RegistryKey rk = Registry.LocalMachine.OpenSubKey(@"SYSTEM\CurrentcontrolSet\Services\Tcpip\Parameters\Interfaces\" + adapter.Id);
                    Object mtu = rk.GetValue("MTU");

                    IPv4InterfaceProperties ipv4 = properties.GetIPv4Properties();
                    obj.textArea.AppendText("  MTU ...................... : " + ipv4.Mtu + "\n");
                    obj.textArea.AppendText("  Registry MTU ............. : " + mtu.ToString());
                }
            }
        }

        private void Form1_Load(object sender, EventArgs e) {

        }

        private void button1_Click(object sender, EventArgs e) {
            this.Dispose();
        }
    }
}