Пример #1
0
        /// <summary>
        /// 枚举安装在计算机上的网络适配器。
        /// </summary>
        private void EnumerateNetworkAdapters()
        {
            PerformanceCounterCategory category = new PerformanceCounterCategory("Network Interface");

            foreach (string name in category.GetInstanceNames())
            {
                if (name == "MS TCP Loopback interface")
                {
                    continue;
                }
                NetworkAdapter adapter = new NetworkAdapter(name)
                {
                    downloadCounter = new PerformanceCounter("Network Interface", "Bytes Received/sec", name),
                    uploadCounter = new PerformanceCounter("Network Interface", "Bytes Sent/sec", name)
                };
                this.allAdapters.Add(adapter);
            }
        }
Пример #2
0
 /// <summary>
 /// 启用定时器,以及指定的适配器添加到显示器适配器列表
 /// </summary>
 public void StartMonitoring(NetworkAdapter adapter)
 {
     if (!this.monitoredAdapters.Contains(adapter))
     {
         this.monitoredAdapters.Add(adapter);
         adapter.Init();
     }
     timer.Enabled = true;
 }
Пример #3
0
 /// <summary>
 /// 从监测的适配器列表中删除指定的适配器,并禁用监测适配器列表的计时器是空的。
 /// </summary>
 /// <param name="adapter"></param>
 public void StopMonitoring(NetworkAdapter adapter)
 {
     if (this.monitoredAdapters.Contains(adapter))
     {
         this.monitoredAdapters.Remove(adapter);
     }
     if (this.monitoredAdapters.Count == 0)
     {
         timer.Enabled = false;
     }
 }