zoukankan      html  css  js  c++  java
  • C#启用或禁用网卡

      c#中禁用和开启网卡

    using System;

    using System.Collections.Generic;

    using System.ComponentModel;

    using System.Data;

    using System.Drawing;

    using System.Text;

    using System.Windows.Forms;

    using System.Management;

    using System.Collections;

    namespace NetWorkControl

    {

        public partial class Form1 : Form

        {

            public Form1()

            {

                InitializeComponent();

                NetWorkList();

            }

            /// <summary>

            /// 网卡列表

            /// </summary>

            public void NetWorkList()

            {

                string manage = "SELECT * From Win32_NetworkAdapter";

                ManagementObjectSearcher searcher = new ManagementObjectSearcher(manage);

                ManagementObjectCollection collection = searcher.Get();

                List<string> netWorkList = new List<string>();

                foreach (ManagementObject obj in collection)

                {

                    netWorkList.Add(obj["Name"].ToString());

                    

                }

               this.cmbNetWork.DataSource = netWorkList;

            }

            /// <summary>

            /// 禁用网卡

            /// </summary>5

            /// <param name="netWorkName">网卡名</param>

            /// <returns></returns>

            public bool DisableNetWork(ManagementObject network)

            {

                try

                {

                    network.InvokeMethod("Disable", null);

                    return true;

                }

                catch

                {

                    return false;

                }

            }

            /// <summary>

            /// 启用网卡

            /// </summary>

            /// <param name="netWorkName">网卡名</param>

            /// <returns></returns>

            public bool EnableNetWork(ManagementObject network)

            {

                try

                {

                    network.InvokeMethod("Enable", null );

                    return true;

                }

                catch

                {

                    return false;

                }

                

            }

            /// <summary>

            /// 网卡状态

            /// </summary>

            /// <param name="netWorkName">网卡名</param>

            /// <returns></returns>

            public bool NetWorkState(string netWorkName)

            {

                string netState = "SELECT * From Win32_NetworkAdapter";

                ManagementObjectSearcher searcher = new ManagementObjectSearcher(netState);

                ManagementObjectCollection collection = searcher.Get();

                foreach (ManagementObject manage in collection)

                {

                    if (manage["Name"].ToString() == netWorkName )

                    {

                        return true;

                    }

                }

                return false;

            }

            /// <summary>

            /// 得到指定网卡

            /// </summary>

            /// <param name="networkname">网卡名字</param>

            /// <returns></returns>

            public ManagementObject NetWork(string networkname)

            {

                string netState = "SELECT * From Win32_NetworkAdapter";

                ManagementObjectSearcher searcher = new ManagementObjectSearcher(netState);

                ManagementObjectCollection collection = searcher.Get();

                foreach (ManagementObject manage in collection)

                {

                    if (manage["Name"].ToString() == networkname)

                    {

                        return manage;

                    }

                }

                

                return null;

            }

            private void btnStart_Click(object sender, EventArgs e)

            {

                if (NetWorkState(this.cmbNetWork.SelectedValue.ToString()))

                {

                    if (!EnableNetWork(NetWork(this.cmbNetWork.SelectedValue.ToString())))

                    {

                        MessageBox.Show("开启网卡失败!");

                    }

                    else

                    {

                        MessageBox.Show("开启网卡成功!");

                    }

                }

                else

                {

                    MessageBox.Show("网卡己开启!");

                }

                NetWorkList();

            }

            private void btnStop_Click(object sender, EventArgs e)

            {

                if (NetWorkState(this.cmbNetWork.SelectedValue.ToString()))

                {

                    if (!DisableNetWork(NetWork(this.cmbNetWork.SelectedValue.ToString())))

                    {

                        MessageBox.Show("禁用网卡失败!");

                    }

                    else

                    {

                        MessageBox.Show("禁用网卡成功!");

                    }

                }

                else

                {

                    MessageBox.Show("网卡己禁用!");

                }

                NetWorkList();

            }

        }

    }

  • 相关阅读:
    RDIFramework.NET ━ .NET快速信息化系统开发框架4.4 员工(职员)管理
    (八大方法、逐层深入,有你一定没见过的)使用INSERT语句向表中插入数据
    国土档案管理信息系统【档案著录】地籍类档案著录
    RDIFramework.NET ━ .NET快速信息化系统开发框架4.3 平台主界面
    [推荐][提供下载](Excel):常用函数公式及操作技巧系列文章【共十篇】
    RDIFramework.NET ━ .NET快速信息化系统开发框架4.6 角色管理模块
    CSS长度单位参考
    Ajax 和 XML: 五种常见 Ajax 模式
    Web2.0岁月:使用AJAX技术的十大理由
    AJAX的安全性及AJAX安全隐患
  • 原文地址:https://www.cnblogs.com/scgw/p/2438933.html
Copyright © 2011-2022 走看看