Компонент отключает переносные устройства(диски) по букве устройства.
Код полностью не мой, взят с форума http://www.rsdn.ru/ автор Bolgaroff.
Сделал только обертку. Возможно стоит объединить с компонентом FSMonitor.
Этот топик читают: Гость
Ответов: 262
Рейтинг: 6
|
|||
карма: 0 |
| ||
файлы: 1 | RDRemover.zip [2KB] [671] |
Ответов: 9906
Рейтинг: 351
|
|||
Chesh писал(а): Возможно стоит объединить с компонентом FSMonitor.Ну и |
|||
карма: 9 |
|
Ответов: 1328
Рейтинг: 69
|
|||
FPC тоже работает
|
|||
карма: 2 |
|
Ответов: 262
Рейтинг: 6
|
|||
Galkov, А надо ли? Тут столько было говорено про эффективность и компактность. Мы же не объединяем FSMonitor и CDROM. Пусть так живет.
[size=-2]------ Добавлено в 10:54 Konst, ага я уже потом проверил. работает. |
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Встроить смысл имеет.
|
|||
карма: 27 |
|
Ответов: 262
Рейтинг: 6
|
|||
Вот.
Толко название теперь не отражает суть полность. Да и иконка тоже. Может FSTools? |
|||
карма: 0 |
| ||
файлы: 1 | FSMonitor_RDRemover.zip [2.3KB] [550] |
Ответов: 574
Рейтинг: 1
|
|||
Chesh, есть вопрос.
При извлечении устройств с помощью твоего компонента в моём компьютере оно остаётся и под той же буквой, но войти в него нельзя. Также и метка пропадает. На флешках не мигает лампочка. Вроде правильно всё отключается. Но если извлекать устройство с помощью стандартной виндовой утилиты, то с моего компьютера устройство исчезает. Так в чём же разница между извлечением устройств с помощью твоего кода и с помощью винды? Кстати, когда мне винда не позволяет вытащить флешку, скажем, с неё что-то открыто, то твой компонент позволяет свободно это делать и ошибки не выдаёт. При этом все признаки, описанные выше, остаются (лампочка не мигает, в устройство под буквой не войти). Это нормально? Так в чём же разница? |
|||
карма: 0 |
|
Ответов: 1305
Рейтинг: 29
|
|||
Yuriy, в Винде есть два типа извлечения: первый - это полное извлечение, т.е. когда устройство физически отключается и вообще исчезает из списка, вызывается с помощью значка в трее, второе - вызывается из контекстного меню съемного диска командой Извлечь и приводит к тому, что диск становится недоступным, т.е. в списке дисков присутствует, но зайти на него не получается. Это удобно для тех, кто пользуется картридерами, т.к. позволяет извлекать флеш-карту и тут же всталять новую, не перетыкая сам картридер.
ЗЫ: компонент не смотрел, но, сдается мне, в нем именно второй путь реализован |
|||
карма: 0 |
|
Ответов: 574
Рейтинг: 1
|
|||
v258, спасибо за разъяснения. Но на этом я не отстану Есть непонятки...
Если устройство извлекать, а не останавливать, через контекстное меню диалога, - винда будет ругаться, если с флешки что-то отрыто. Это есть правильно. Хорошо. По компоненту сделан вывод, что он не полностью вырубает устройство, но если им пользоваться в том же случае, то есть когда с флешки что-то запущено, то компонент спокойно извлекает флешку, как ни в чём не бывало, хотя если делать это через винду - она ругается. Так кто же тут прав? Меня, впрочем, волнует одно: чтобы правильно работал компонент и безопасно извлекал устойства. Единственное, что успокаивает - даже лампочки на флешке гаснут - как и положено. Главное клиентам флешки не запороть и всё. Chesh, не подумай, что я в чём-то обвиняю твой компонент, - напротив, я пытаюсь разобраться: почему такая разница в его работе и в работе стандартной утилиты Windows. |
|||
карма: 0 |
|
Ответов: 3655
Рейтинг: 69
|
|||
Yuriy, Вот ты какой придирчивый.
Мне кажется всё элементарно. Существуют два метода отключения Винда использует один, а компонент другой. |
|||
карма: 0 |
|
Ответов: 3514
Рейтинг: 184
|
|||
Мне кажеться, что винда может использовать оба..
|
|||
карма: 0 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 5 раз(а), последний 2021-06-22 14:22:02 |
|||
карма: 0 |
|
Ответов: 574
Рейтинг: 1
|
|||
Вячеслав писал(а): Yuriy, Вот ты какой придирчивый.Вовосе нет, я пытаюсь разобраться. Теперь нашёл. Компонент работает также, если в моём компьютере кликнуть ПКП по флешке и нажать "Извлечь". v258, всё правильно. Однако, баг ли в компоненте я нашёл. Извлекаю им флешку - дульки. Извлекаю виндой - пишет флешка занята. Хотя всё с флешки я закрыл... Ну да ладно баги Винды, а компонент почему на onError ничего не выдал? В каких же ситуациях он вообще выдаёт ошибки? Вот и считайте, что я клиенту вытянул флешку небезопасно... Компонент ошибку ведь не выдал. Какие дальнейшие соображения? |
|||
карма: 0 |
|
Ответов: 3655
Рейтинг: 69
|
|||
Tad писал(а): Если есть два доступных метода значит в компоненте должна быть возможность выбораТак сделал бы давно если знаешь |
|||
карма: 0 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
А Chesh (автор сего творения) благополучно самоустранился
|
|||
карма: 22 |
|