отключение устройств
Вложений: 1
подскажите пожалуйста, каким методом можно решить такую задачу : написать программу которая отключала бы USB, Сd-Rom и Floppy. (т.е. отключение флопика, дисковода и портов USB). меня интересует алгоритм написания данной программы.
мои идеи изменять параметры реестра которые отвечают за отключение устройств в диспетчере устройств. |
chek
Я думаю,что надо смотреть в сторону функции DeviceIoControl и её разнообразных IOCTL-кодов.Данная функция является в некотором роде посредником между пользовательскими программи и драйверами режима ядра.В частности имеется ввиду драйвер того же CD-ROM'а. В общем,смотри тут и потом вперёд на MSDN. |
chek
В ресурс-ките есть утилита DevCon, которая в числе прочего может отключать/включать устройства... а в DDK есть ее исходник, если есть желание поковырять то вот он: http://forum.oszone.net/attachment.p...achmentid=4080 ADD: по поводу ключей реестра вот линк на ADM-файл политики который включает/выключает соответствующие драйверы установкой параметра "Start"=4 , но применение требует перезагрузки: http://support.microsoft.com/kb/555324/en-us HKLM\SYSTEM\CurrentControlSet\Services\UsbStor HKLM\SYSTEM\CurrentControlSet\Services\Cdrom HKLM\SYSTEM\CurrentControlSet\Services\Flpydisk |
amel27
большое спасибо. а вы можете написать часть программы на си билдере которая бы и изменяла этот параметр реестр при нажатии на кнопку?? |
chek
к сожалению нет - я не программер.. Гугль в помощь ;) |
amel27
ну и на том спасибо, будем искать... |
chek
Что искать-то??Вы программист или нет...или,по-крайней мере,хотите им стать...? Вот основной кусок кода на ассемблере.Думаю,суть сможете уловить: Код:
Параметр этого ключа,называемый "Start",характеризует то,как этот драйвер запускается.В данном случае нас интересуют два значения: SERVICE_SYSTEM_START 0x00000001 Запускается при на ранних стадиях инициализации системы(значение по-умолчанию) SERVICE_DISABLED 0x00000004 Отключение сервиса.Драйвер не может быть запущен. |
Время: 00:42. |
Время: 00:42.
© OSzone.net 2001-