當我們要停用或啟用網路連線的時候,手動的方式是用滑鼠點選畫面左下角的開始,再點選齒輪圖示
就可以進入到 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" 你必須將它改成你自已的網路卡(連線)的名稱,程式就可以將它停用或啟用。