C#语言实现定时开启或禁用网卡小程序
生活随笔
收集整理的這篇文章主要介紹了
C#语言实现定时开启或禁用网卡小程序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C#語言實現定時開啟/禁用網卡
1.win7旗艦版運行效果圖:
2.程序實現主要代碼:
/// 網卡列表 1 /// <summary>2 /// 網卡列表3 /// </summary>4 public void NetWorkList()5 {6 string manage = "SELECT * From Win32_NetworkAdapter";7 ManagementObjectSearcher searcher = new ManagementObjectSearcher(manage);8 ManagementObjectCollection collection = searcher.Get();9 List<string> netWorkList = new List<string>(); 10 11 foreach (ManagementObject obj in collection) 12 { 13 netWorkList.Add(obj["Name"].ToString()); 14 15 } 16 this.cmbNetWork.DataSource = netWorkList; 17 18 } /// 禁用網卡 1 /// <summary>2 /// 禁用網卡3 /// </summary>54 /// <param name="netWorkName">網卡名</param>5 /// <returns></returns>6 public bool DisableNetWork(ManagementObject network)7 {8 try9 { 10 network.InvokeMethod("Disable", null); 11 return true; 12 } 13 catch 14 { 15 return false; 16 } 17 }/// 啟用網卡
1 /// <summary>2 /// 啟用網卡3 /// </summary>4 /// <param name="netWorkName">網卡名</param>5 /// <returns></returns>6 public bool EnableNetWork(ManagementObject network)7 {8 try9 { 10 network.InvokeMethod("Enable", null); 11 return true; 12 } 13 catch 14 { 15 return false; 16 } 17 18 } /// 網卡狀態 1 /// <summary>2 /// 網卡狀態3 /// </summary>4 /// <param name="netWorkName">網卡名</param>5 /// <returns></returns>6 public bool NetWorkState(string netWorkName)7 {8 string netState = "SELECT * From Win32_NetworkAdapter";9 ManagementObjectSearcher searcher = new ManagementObjectSearcher(netState); 10 ManagementObjectCollection collection = searcher.Get(); 11 foreach (ManagementObject manage in collection) 12 { 13 if (manage["Name"].ToString() == netWorkName) 14 { 15 return true; 16 } 17 } 18 return false; 19 } /// 得到指定網卡 1 /// <summary>2 /// 得到指定網卡3 /// </summary>4 /// <param name="networkname">網卡名字</param>5 /// <returns></returns>6 public ManagementObject NetWork(string networkname)7 {8 string netState = "SELECT * From Win32_NetworkAdapter";9 10 ManagementObjectSearcher searcher = new ManagementObjectSearcher(netState); 11 ManagementObjectCollection collection = searcher.Get(); 12 13 foreach (ManagementObject manage in collection) 14 { 15 if (manage["Name"].ToString() == networkname) 16 { 17 return manage; 18 } 19 } 20 21 return null; 22 } /// 開啟網卡 1 /// <summary>2 /// 開啟網卡3 /// </summary>4 public bool startNetWork()5 {6 if (NetWorkState(this.cmbNetWork.SelectedValue.ToString()))7 {8 if (!EnableNetWork(NetWork(this.cmbNetWork.SelectedValue.ToString())))9 { 10 this.InsertLog("開啟網卡失敗!"); 11 return false; 12 } 13 else 14 { 15 this.InsertLog("開啟網卡成功!"); 16 return true; 17 } 18 } 19 else 20 { 21 this.InsertLog("網卡己開啟!"); 22 return false; 23 } 24 25 //NetWorkList(); 26 }///關閉網卡
1 /// <summary>2 /// 關閉網卡3 /// </summary>4 public bool StopNewWork()5 {6 if (NetWorkState(this.cmbNetWork.SelectedValue.ToString()))7 {8 if (!DisableNetWork(NetWork(this.cmbNetWork.SelectedValue.ToString())))9 { 10 this.InsertLog("禁用網卡失敗!"); 11 return false; 12 } 13 else 14 { 15 this.InsertLog("禁用網卡成功!"); 16 return true; 17 } 18 } 19 else 20 { 21 this.InsertLog("網卡己禁用!"); 22 return false; 23 } 24 25 //NetWorkList(); 26 }///日志記錄
1 /// <summary>2 /// 日志記錄3 /// </summary>4 /// <param name="msg"></param>5 public void InsertLog(string msg)6 {7 if (this.richTextBox1.Lines.Count() > 100)8 {9 richTextBox1.Clear(); 10 } 11 string str = String.Format("[{0}]--[{1}]-->{2}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), this.cmbNetWork.Text.Trim(), msg) + Environment.NewLine; 12 richTextBox1.Text = richTextBox1.Text.Insert(0, str); 13 }///定時開啟或者關閉
1 private int startTime = 0;2 3 /// <summary>4 /// 定時開啟或者關閉5 /// </summary>6 /// <param name="sender"></param>7 /// <param name="e"></param>8 private void timer1_Tick(object sender, EventArgs e)9 { 10 if (startTime != time) 11 { 12 InsertLog((time-startTime - 1) +"秒后執行"); 13 startTime++; 14 return; 15 } 16 17 startTime = 0; 18 if (_state == 0) //0表示開啟狀態,1表示關閉狀態 19 { 20 if (this.StopNewWork()) 21 { 22 _state = 1; 23 } 24 } 25 else 26 { 27 if (this.startNetWork()) 28 { 29 _state = 0; 30 } 31 } 32 }?
3.工程源文件下載
附件:工程源文件 ?http://files.cnblogs.com/files/JiYF/NetWorkCardConnect.rar?
4.查看網卡名稱
轉載于:https://www.cnblogs.com/JiYF/p/6104006.html
總結
以上是生活随笔為你收集整理的C#语言实现定时开启或禁用网卡小程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Session在类库中的使用
- 下一篇: C#使用读写锁三行代码简单解决多线程并发