Отловить событие подключения/отключения USB-носителя - C# (177538)

Узнай цену своей работы

Формулировка задачи:

Товарищи, поделитесь ,пожалуйста, работающими примерами по данному вопросу. И если есть какие то библиотеки по данному вопросу, то подскажите, что посмотреть.

Решение задачи: «Отловить событие подключения/отключения USB-носителя»

textual
Листинг программы
  1. using System;
  2. using System.Management;
  3. using System.Windows.Forms;
  4.  
  5. namespace WindowsFormsApplication
  6. {
  7.     class USBConnectionsChecker
  8.     {
  9.         private int devicesCount;
  10.         private Timer updatingInformationTimer;
  11.  
  12.         public event EventHandler DeviceConnected;
  13.         public event EventHandler DeviceDisconnected;
  14.  
  15.         private int GetDevicesCount()
  16.         {
  17.             return ((new ManagementObjectSearcher(@"select * from Win32_DiskDrive")).Get()).Count;
  18.         }
  19.  
  20.         private void UpdatingInformationTimer_Tick(object sender, EventArgs e)
  21.         {
  22.             int newDevicesCountValue = GetDevicesCount();
  23.  
  24.             if (newDevicesCountValue != devicesCount)
  25.             {
  26.                 if (newDevicesCountValue > devicesCount)
  27.                 {
  28.                     devicesCount = newDevicesCountValue;
  29.                     DeviceConnected(this, null);
  30.                 }
  31.                 else
  32.                 {
  33.                     devicesCount = newDevicesCountValue;
  34.                     DeviceDisconnected(this, null);
  35.                 }
  36.             }
  37.         }
  38.  
  39.         public USBConnectionsChecker()
  40.         {
  41.             devicesCount = GetDevicesCount();
  42.             updatingInformationTimer = new Timer();
  43.             updatingInformationTimer.Tick += new EventHandler(this.UpdatingInformationTimer_Tick);
  44.             updatingInformationTimer.Interval = 1000;
  45.             updatingInformationTimer.Enabled = true;
  46.         }
  47.     }
  48. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут