Получить от ОС сообщение о монтирование устроиства?

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Получить от ОС сообщение о монтирование устроиства?

Сообщение McLion » 04.07.2015 19:12:36

Всем привет,

кто подскажет, как надежно получать от Windows сообщение о монтирование (mount) или размонтирование (umount) устройства?

Пасиб!
Аватара пользователя
McLion
постоялец
 
Сообщения: 332
Зарегистрирован: 06.02.2015 18:41:00

Re: Получить от ОС сообщение о монтирование устроиства?

Сообщение Vadim » 04.07.2015 21:17:41

McLion
Когда-то давно делал, чтобы ловить за руку юзеров, подключающих флэшку с вирусом, поскольку отключить флэшки совсем было нельзя.
Если коротко - создать невидимое окно с минимумом аттрибутов и отлавливать в нём (в процедуре WndProc) единственное сообщение - WM_CHANGEDEVICE.
wParam = DBT_DEVICEARRIVAL - флэшка подключена,
wParam = DBT_DEVICEREMOVECOMPLETE - флэшка отключена.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Получить от ОС сообщение о монтирование устроиства?

Сообщение McLion » 04.07.2015 21:40:05

Это не работает если подсоединен Card Reader и втыкается флэш-карта. Device в этом случае не меняется. Поэтому я ищу код, который узнает монтирование.
Аватара пользователя
McLion
постоялец
 
Сообщения: 332
Зарегистрирован: 06.02.2015 18:41:00

Re: Получить от ОС сообщение о монтирование устроиства?

Сообщение pupsik » 04.07.2015 23:48:52

Есть один интересненький файл в винде. По огромным просьбам мелкие выложили его краткое применение.
Он позволяет запоминать все необходимые устройства. А потом не позволяет подключать что либо из юсб подобного. Т.е. на файл ставится ограничение на запись (только чтение).

К чему я. В момент подключения винда в этот файл сбрасывает информацию о устройстве и его статусе. Только, хоть убей, уже не помню имя файла. Давно я винду не смотрел :)
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

Re: Получить от ОС сообщение о монтирование устроиства?

Сообщение resident » 05.07.2015 13:02:20

McLion писал(а):кто подскажет, как надежно получать от Windows сообщение о монтирование (mount) или размонтирование (umount) устройства?

Любые события загоняются в журналы. Можно создать свои задания на их основе (код события не указывай). Вот навскидку:
Apps / TWinUI
Kernel-PnP
DeviceSetupManager
PushNotifications-Platform
UserPnp

Точнее сам ищи какие журналы протоколируют твой кард-ридер.
На двух флешках и PSP работает, причем пишется в разные журналы. Отчего так не знаю, но пишутся все.

McLion писал(а):Пасиб!

Фу быть таким.
http://evo-lutio.livejournal.com/69924.html
resident
энтузиаст
 
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 224

Рейтинг@Mail.ru