.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);