[C#]Windows 10 停用與啟用網路卡(連線)[手把手教程][原創]

當我們要停用或啟用網路連線的時候,手動的方式是用滑鼠點選畫面左下角的開始,再點選齒輪圖示






就可以進入到 Windows 設定的功能選擇畫面,我們選擇網路與網際網路





接著我們點選變更介面卡選項,就可以到網路連線的設定畫面了。








畫面中會出現很多的網路連線設定項目,你可以在你要變更設定的網路連線項目上按下滑鼠的右鍵,就會出現功能表。







功能表的第一項就是停用或啟用 用滑鼠點選它你就可以完成停用或啟用









接著我們進入到真正的主題,就是如何撰寫程式來停用或啟用網路連線,首先我們需要一個元件,這個元件的位置是在 C:\Windows\System32\hnetcfg.dll ,你需要先將它設定為參考 。







然後再將它設定為引用(using NETCONLib;),你就可以使用這個元件了,原始碼如下:




using System;

using NETCONLib;

namespace IC4 {
    class Program {
        static void Main(string[] args) {
            try {
                NetSharingManagerClass netSharingMgr = new NetSharingManagerClass();
                INetSharingEveryConnectionCollection connections = netSharingMgr.EnumEveryConnection;
                foreach(INetConnection connection in connections) {
                    INetConnectionProps connProps = netSharingMgr.get_NetConnectionProps(connection);
                    if(connProps.Name == "MyNetworkInterface") { //須設定成你自己的網路連線名稱
                        connection.Disconnect(); //停用網絡
                        connection.Connect();    //啟用網絡
                    }
                }
            }
            catch(Exception ex) {
                Console.WriteLine(ex.ToString());
            }
            Console.WriteLine("Press any key...");
            Console.ReadKey();
        }
        static void Enable(string interfaceName) {
            System.Diagnostics.ProcessStartInfo psi =
                   new System.Diagnostics.ProcessStartInfo("netsh", "interface set interface \"" + interfaceName + "\" enable");
            System.Diagnostics.Process p = new System.Diagnostics.Process();
            p.StartInfo = psi;
            p.Start();
        }
        static void Disable(string interfaceName) {
            System.Diagnostics.ProcessStartInfo psi =
                new System.Diagnostics.ProcessStartInfo("netsh", "interface set interface \"" + interfaceName + "\" disable");
            System.Diagnostics.Process p = new System.Diagnostics.Process();
            p.StartInfo = psi;
            p.Start();
        }
    }
}


說明:
先建立一個 "主控台應用程式" 的專案,再將我提供的程式複製到你的專案中。



Disconnect() 就是停用
Connect() 就是啟用

你可以自由決定是要停用或啟用網路卡(連線)


在程式中有一行需要稍微注意一下

if(connProps.Name == "MyNetworkInterface") { //須設定成你自己的網路連線名稱


這一行程式中的 "MyNetworkInterface" 你必須將它改成你自已的網路卡(連線)的名稱,程式就可以將它停用或啟用。



留言

這個網誌中的熱門文章

ASP.NET Web API 將傳回的值轉換從控制器動作至 HTTP 回應訊息的方式。

[C#]程式更改電腦IP位置與電腦名稱