Отслеживание отключения usb-устройств |
Здравствуйте, гость ( Вход | Регистрация )
Отслеживание отключения usb-устройств |
gf59ru |
29.9.2009, 17:30
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 1 Регистрация: 29.9.2009 Пользователь №: 1126 Спасибо сказали: 0 раз(а) Репутация: 0 |
Всем доброго времени суток!
Ситуация следующая: Имеется устройство USB-Serial, пишем под него программу Когда прога получает сообщение WM_DEVICECHANGE (приходит только с wParam=DBT_DEVNODES_CHANGED), сразу проверяет реестр (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbser - список подключенных usb-serial устройств и HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\<****> - описание устройства) Если устройство пропадает из реестра, значит, пора отключаться от виртуального ком-порта Это срабатывает, кроме случая, когда usb-шнурок выдернуть и сразу воткнуть Похоже, реестр просто не успевает обновляться, и отключения от ком-порта не происходит (а без переподключения дальше с ним работа не идёт) Можно ли как-то определить момент отключения нашего устройства, минуя реестр? Например, подписаться на сообщение WM_DEVICECHANGE с параметром DBT_DEVICEREMOVECOMPLETE? При этом главное - сразу определить отключение именно НАШЕГО устройства, не проверяя реестры и прочие источники |
|
|
Текстовая версия | Сейчас: 27.12.2024, 0:30 |