Подскажите, как отловить подключение нового usb-накопителя в delphi? Когда система распознает что это именно usb-накопитель а не принтер например. Как я понимаю, сначала происходит распознание именно устройства как накопителя, а потом уже система обращается к usbstor.inf за информацией о накопителе. Хотелось бы вот этот самый этап распознавания поймать.
Ну как бы и уточнять то особо нечего. Мне нужно закрыть доступ к usb-накопителям. Покапавшись в интернете нашел наиболее простой способ запретить для этого доступ к файлу usbstor.inf, предварительно очистив информацию о всех уже ранее использовавшихся в системе накопителях. Но хотелось бы еще запретить вывод окна о поиске драйвера (так как usbstor.inf заблокирован будет выскакивать окно поиска драйвера).
Спасибо за ссылку. Я уже читал несколько раз про этот способ, правда на других ресурсах. Дело в том, что usb-накопители надо запретить в сети без домена, вдобавок ко всему пользователи являются локальными администраторами. Поэтому мне подходит вариант с сервисом, запрещающим использование накопителей, который в случае его выключения сигнализирует о том что его выключили или попытались выключить..
Во-первых, не совсем понятно, как ты собрался отслеживать тупое убиение процесса службы? Во-вторых, мне не понятно, как ты в службе собрался запрещать подключение USB-девайсов? Ты планируешь вернуть код ошибки в ответ на SERVICE_CONTROL_DEVICEEVENT с кодом DBT_DEVICEARRIVAL? Сомневаюсь, что это поможет достичь обозначенной цели. Я бы всё же через драйвер-фильтр сделал, надёжнее ибо.
Ну отслеживание убиения процесса можно организовать легко. Можно например сделать два зависимых процесса в случае убийства одного из них второй тут же пошлет сообщение администратору, или даже еще и осуществит повторный запуск сервиса. А вот насчет как запретить подключение usb-девайсов, думаю можно в тех же зависимых процессах занять: TFileStream.Create('C:\WINDOWS\inf\usbstor.PNF', fmOpenRead, fmShareDenyNone); ну или еще как.. Примитивно конечно)) но работать то будет. Но вот как запретить показ окна "установка драйвера"? Ну а как это сделать?
masterkey Ваша идея это целая холепа. x64 прав, требуется фильтер для usbstor , на форуме уже где то это писалось , так что юзайте поиск.