.NET 4.x Отслеживание подключаемых USB устройств - C#

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

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

Всем привет. Возникла надобность отслеживать подключения флэшек. Я покопался в нэте и нашёл что есть такое сообщение DBT_DEVNODES_CHANGED (A device has been added to or removed from the system). Я так понял что мне нужно использовать его, но как это сделать не знаю... Если кто то знает как это работает, помогите пожалуйста!

Решение задачи: «.NET 4.x Отслеживание подключаемых USB устройств»

textual
Листинг программы
var dbhARRIVAL = (DEV_BROADCAST_HDR)Marshal.PtrToStructure(m.LParam, typeof(DEV_BROADCAST_HDR));
if (dbhARRIVAL.dbch_devicetype == DBT_DEVTYP_VOLUME)
{
    var dbv = (DEV_BROADCAST_VOLUME)Marshal.PtrToStructure(m.LParam, typeof(DEV_BROADCAST_VOLUME));    
    
    int DriveLetter = 0;
    // Далее ищем установленный бит и получаем нужную букву
    while ((dbv.dbcv_unitmask & (1 << DriveLetter)) != dbv.dbcv_unitmask
            && DriveLetter != 32) {
 
        DriveLetter++;
    }
    // Буква USB dev
    var label = (char)('A' + DriveLetter);

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


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

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

13   голосов , оценка 3.923 из 5
Похожие ответы