public void StopMonitoring(MyNetWorkMatchClass adapter) { if (m_MonitoredAdapters.Contains(adapter)) m_MonitoredAdapters.Remove(adapter); if (m_MonitoredAdapters.Count == 0) Monitor_Timer.Enabled = false; }
//控制该适配器开始工作 public void StartMonitoring(MyNetWorkMatchClass myMNWMadapter) { if (!m_MonitoredAdapters.Contains(myMNWMadapter)) { m_MonitoredAdapters.Add(myMNWMadapter); myMNWMadapter.Start(); //该适配器调用自己函数开始工作 } Monitor_Timer.Enabled = true; }
//列举出安装在该计算机上面的适配器方法 private void ShowNetAdapter() { PerformanceCounterCategory PCCCategory = new PerformanceCounterCategory("Network Interface"); foreach (string InstanceName in PCCCategory.GetInstanceNames()) { if (InstanceName == "MS TCP Loopback interface") continue; // 创建一个实例Net workAdapter类别,并创建性能计数器它。 MyNetWorkMatchClass myMNWMadapter = new MyNetWorkMatchClass(InstanceName); myMNWMadapter.m_Performance_Down = new PerformanceCounter("Network Interface", "Bytes Received/sec", InstanceName); myMNWMadapter.m_Performance_Up = new PerformanceCounter("Network Interface", "Bytes Sent/sec", InstanceName); m_AdaptersList.Add(myMNWMadapter); } }