Пример #1
0
 /// <summary>
 /// Enable the timer, and add the specified adapter to the monitoredAdapters list
 /// </summary>
 public void StartMonitoring(NetWorkAdapter adapter)
 {
     if (!this.monitoredAdapters.Contains(adapter))
     {
         this.monitoredAdapters.Add(adapter);
         adapter.init();
     }
     timer.Enabled = true;
 }
Пример #2
0
 /// <summary>
 /// Remove the specified adapter from the monitoredAdapters list, and
 /// disable the timer if the monitoredAdapters list is empty.
 /// </summary>
 public void StopMonitoring(NetWorkAdapter adapter)
 {
     if (this.monitoredAdapters.Contains(adapter))
     {
         this.monitoredAdapters.Remove(adapter);
     }
     if (this.monitoredAdapters.Count == 0)
     {
         timer.Enabled = false;
     }
 }
        private void TimerCounter_Tick(object sender, System.EventArgs e)
        {
            NetWorkAdapter adapter = this.adapters[this.AdapterList.SelectedIndex];

            /* The DownloadSpeedKbps and UploadSpeedKbps are double values. You can also
             * use properties DownloadSpeed and UploadSpeed, which are long values but
             * are measured in bytes per second. */

            if (CurrentLanguage == "ZH")
            {
                this.MessageBar.Content = String.Format("下载 {0:n} kbps", adapter.DownloadSpeedKbps) + "\n" + String.Format("上传 {0:n} kbps", adapter.UploadSpeedKbps);
            }
            else
            {
                this.MessageBar.Content = String.Format("Download {0:n} kbps", adapter.DownloadSpeedKbps) + "\n" + String.Format("UpLoad {0:n} kbps", adapter.UploadSpeedKbps);
            }
        }
Пример #4
0
        /// <summary>
        /// Enumerates network adapters installed on the computer.
        /// </summary>
        private void EnumerateNetworkAdapters()
        {
            PerformanceCounterCategory category = new PerformanceCounterCategory("Network Interface");

            foreach (string name in category.GetInstanceNames())
            {
                // This one exists on every computer.
                if (name == "MS TCP Loopback interface")
                {
                    continue;
                }
                // Create an instance of NetworkAdapter class, and create performance counters for it.
                NetWorkAdapter adapter = new NetWorkAdapter(name);
                adapter.dlCounter = new PerformanceCounter("Network Interface", "Bytes Received/sec", name);
                adapter.ulCounter = new PerformanceCounter("Network Interface", "Bytes Sent/sec", name);
                this.adapters.Add(adapter);    // Add it to ArrayList adapter
            }
        }