|
0 / 0 / 0
Регистрация: 11.09.2009
Сообщений: 6
|
|
Остановка USB устройств11.09.2009, 14:52. Показов 3287. Ответов 10
Метки нет (Все метки)
Здраствуйте. Стоит задача: необходимо написать программу на С++, которая позволяет отследить все процессы и все что с ними связано, которые в данный момент времени мешают безопасному извлечению устройства USB. Отследить процессы запущенные непосредственно с флешки нетрудно, а что делать с видеофайлами, текстовыми документами, открытым Total Commander не знаю.
Может кто-нибудь из сведущих людей подскажет что происходит, когда идет попытка остановки устройства? Что делает Windows и в какой последовательности? Спасибо.
0
|
|
| 11.09.2009, 14:52 | |
|
Ответы с готовыми решениями:
10
Программное подключение usb устройств |
|
0 / 0 / 0
Регистрация: 11.09.2009
Сообщений: 6
|
|
| 13.09.2009, 23:27 [ТС] | |
|
пока решения не нашел. помогите пожалуйста
0
|
|
|
105 / 104 / 9
Регистрация: 12.09.2009
Сообщений: 452
|
|
| 13.09.2009, 23:53 | |
|
Ты не можешь вытянуть безопасно флешку или что???
0
|
|
|
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
|
|
| 14.09.2009, 00:24 | |
|
LAren, вперед на MSDN за изучением Api функций. Бьюсь об заклад, ты подыщишь там что-то.
0
|
|
|
MCSD: APP BUILDER
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
|
|
| 14.09.2009, 00:33 | |
|
Более того, другие уже поискали. И написали USB Safely Remove.
0
|
|
|
0 / 0 / 0
Регистрация: 11.09.2009
Сообщений: 6
|
|
| 14.09.2009, 15:33 [ТС] | |
|
про USB Safely Remove я знаю, но брать готовую прогу нельзя, преподаватель не поймет
![]() попробую переформулировать вопрос немного по другому: подскажите какие функции использовать чтобы у каждого процесса посмотреть с какими файлами он связан. В msdn смог найти только функцию GetModuleFileName но она не позволяет отследить все файлы с которыми работает процесс (например видеоплеер: показывает что работает из установленного каталога, а то что сам видеофайл читается с флешки не показывает). Может быть так кто-нибудь что-нибудь сможет подсказать.
0
|
|
|
229 / 67 / 11
Регистрация: 02.06.2009
Сообщений: 280
|
|
| 16.09.2009, 13:39 | |
|
http://www.wasm.ru/article.php... kfileswork
По ссылке есть описание метода перечисления хендлов. Алгоритм приблизительно таков - 1) Создаеш список всех файлов на флешке. 2) Просматриваеш все открытые в системе хендлы и сравниваеш со списком файлов 3) Прибиваеш процессы открывшие файлы на флешке или закрываеш хендлы в этих процессах.
1
|
|
|
0 / 0 / 0
Регистрация: 11.09.2009
Сообщений: 6
|
|
| 16.09.2009, 14:11 [ТС] | |
|
спасибо, сейчас буду пробовать
0
|
|
|
0 / 0 / 0
Регистрация: 11.09.2009
Сообщений: 6
|
|
| 16.09.2009, 18:27 [ТС] | |
|
с файлами понятно, но остается проблема с TotalCommander. Когда в нем отображается флешка, как "словить тотал за руку", что он просматривает флешку?
появилась идея попробовать следить за портом USB устройства. Получить список всех USB портов, потом проверить воткнута ли в данный порт флешка, и смотреть за всеми обращениями к порту. Тогда можно было бы всю программу свести только к этому и не было бы необходимости отдельно строить список процессов, писать различные функции для процессов непосредственно запущенных с флешки и для всех файлов. Реализуемо ли это?
0
|
|
|
229 / 67 / 11
Регистрация: 02.06.2009
Сообщений: 280
|
|||
| 16.09.2009, 18:38 | |||
0
|
|||
|
0 / 0 / 0
Регистрация: 11.09.2009
Сообщений: 6
|
|
| 16.09.2009, 20:44 [ТС] | |
|
Alexandoros, спасибо Вам за совет. Буду разбираться.
PS нашел исходный код программы FileMon, может быть получится взять оттуда какие-нибудь куски кода
0
|
|
| 16.09.2009, 20:44 | |
|
Помогаю со студенческими работами здесь
11
Получить список USB устройств Реагирование программой на органы управления не стандартных USB устройств Обнаружение USB устройств с последующим их безопасным извлечением Переодически перестают работать USB порты на материнке после подключения устройств к USB корпуса USB 2.0 и USB 3.0 - питание устройств Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|