![]() |
|
|
![]()
|
|
| samrisbe |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 27.5.2011 Репутация: нет Всего: нет |
Доброго всем здравия! Уважаемые опытные программисты! Подскажите новичку способ програмно запретить открытие дверцы CD-DVD привода.
Заранее спасибо! |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 3 Всего: 85 |
В принципе вижу 2 пути для этого безобразия.
1. Перехватывать API-шную функцию открытия. (ствить хук придется.) 2. Просто открыть на диске файлы, и не закрывать их. (насчет 2-го не уверен.) Но, вот против иголки, ничего не поможет У любого CD/DVD на морде есть отверстие для иголки. Если туда иголкой нажать, откроется любой привод даже, без питания. Ну и возникает вопрос, а зачем? |
|||
|
||||
| samrisbe |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 27.5.2011 Репутация: нет Всего: нет |
Надо чтоб все кому не лень что попало не совали. Можно еще паралельно оключить его типа драйвер и будет гламурно...
|
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 18 Всего: 135 |
Интересно, почему в этом разделе ? В Builder'е как-то по-другому управляют CD-ROM'ом ?
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| samrisbe |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 27.5.2011 Репутация: нет Всего: нет |
А в каком разделе? А какая разнице где и как? |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 18 Всего: 135 |
Да не... никакой... Но правильнее было бы сюда (http://forum.vingrad.ru/forum/c-c++db-database.html) или сюда (http://forum.vingrad.ru/forum/c-c++network.html). всё равно ж... It was a sarcasm, если чо -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| migddk |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 29.10.2010 Репутация: нет Всего: нет |
Выдвинуть лоток с носителем можно функцией DeviceIoControl с кодом IOCTL_STORAGE_EJECT_MEDIA:
Вызов функции DeviceIoControl с кодом IOCTL_STORAGE_MEDIA_REMOVAL позволяет блокировать или разблокировать возможность выдвижения лотка. Подобный вызов в синхронном режиме имеет вид:
Входным буфером служит структура типа _PREVENT_MEDIA_REMOVAL, объявленная в модуле winioctl.h следующим образом: typedef struct _PREVENT_MEDIA_REMOVAL { BOOLEAN PreventMediaRemoval; } PREVENT_MEDIA_REMOVAL, *PPREVENT_MEDIA_REMOVAL; Задание в этой структуре значения true поля PreventMediaRemoval блокирует выдвижение лотка, а задание значения false снимает блокировку. Если выдвижение лотка заблокировано, то носитель нельзя извлечь и вручную. Более того, если приложение закрылось, а блокировка не была снята, то устройство так и останется заблокированным. Так что будьте осторожны с этой командой. Если в приложении предусмотрено использование этой команды, то полезно во избежание неприятностей при закрытии приложения на всякий случай снимать блокировку. Если подряд выполнено несколько вызовов DeviceIoControl, задающих блокировку, то устройство разблокируется только после такого же количества вызовов, снимающих блокировку. Так что если вы хотите гарантированно выдвинуть лоток, независимо от числа предшествующих блокировок, это можно сделать так:
|
||||||
|
|||||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |