Всем привет,
кто подскажет, как надежно получать от Windows сообщение о монтирование (mount) или размонтирование (umount) устройства?
Пасиб!
Получить от ОС сообщение о монтирование устроиства?
Модератор: Модераторы
McLion
Когда-то давно делал, чтобы ловить за руку юзеров, подключающих флэшку с вирусом, поскольку отключить флэшки совсем было нельзя.
Если коротко - создать невидимое окно с минимумом аттрибутов и отлавливать в нём (в процедуре WndProc) единственное сообщение - WM_CHANGEDEVICE.
wParam = DBT_DEVICEARRIVAL - флэшка подключена,
wParam = DBT_DEVICEREMOVECOMPLETE - флэшка отключена.
Когда-то давно делал, чтобы ловить за руку юзеров, подключающих флэшку с вирусом, поскольку отключить флэшки совсем было нельзя.
Если коротко - создать невидимое окно с минимумом аттрибутов и отлавливать в нём (в процедуре WndProc) единственное сообщение - WM_CHANGEDEVICE.
wParam = DBT_DEVICEARRIVAL - флэшка подключена,
wParam = DBT_DEVICEREMOVECOMPLETE - флэшка отключена.
Это не работает если подсоединен Card Reader и втыкается флэш-карта. Device в этом случае не меняется. Поэтому я ищу код, который узнает монтирование.
Есть один интересненький файл в винде. По огромным просьбам мелкие выложили его краткое применение.
Он позволяет запоминать все необходимые устройства. А потом не позволяет подключать что либо из юсб подобного. Т.е. на файл ставится ограничение на запись (только чтение).
К чему я. В момент подключения винда в этот файл сбрасывает информацию о устройстве и его статусе. Только, хоть убей, уже не помню имя файла. Давно я винду не смотрел
Он позволяет запоминать все необходимые устройства. А потом не позволяет подключать что либо из юсб подобного. Т.е. на файл ставится ограничение на запись (только чтение).
К чему я. В момент подключения винда в этот файл сбрасывает информацию о устройстве и его статусе. Только, хоть убей, уже не помню имя файла. Давно я винду не смотрел
McLion писал(а):кто подскажет, как надежно получать от Windows сообщение о монтирование (mount) или размонтирование (umount) устройства?
Любые события загоняются в журналы. Можно создать свои задания на их основе (код события не указывай). Вот навскидку:
Apps / TWinUI
Kernel-PnP
DeviceSetupManager
PushNotifications-Platform
UserPnp
Точнее сам ищи какие журналы протоколируют твой кард-ридер.
На двух флешках и PSP работает, причем пишется в разные журналы. Отчего так не знаю, но пишутся все.
McLion писал(а):Пасиб!
Фу быть таким.
http://evo-lutio.livejournal.com/69924.html
