Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.84/74: Рейтинг темы: голосов - 74, средняя оценка - 4.84
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069

Запрет использования usb накопителей

10.03.2011, 08:49. Показов 14386. Ответов 52
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Уважаемые опытные программисты, подскажите команду которая позволит запрещать использование usb накопителей (флешек и т.п), а также код который разрешит использование флешки, при этом все остальные usb устройства должны работать. Думаю можно сделать путем отключения или попключения драйвера ( USBstor.inf или usbstor.sys) который подключает "флешки".
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.03.2011, 08:49
Ответы с готовыми решениями:

Запрет использования dvd привода
Доброе утро! Кто нибудь подскажите надежный способ програмно запретить или разрешить исполбзование DVD привода? :) Своими силами такая...

Как обойти запрет программой DeviceLock использования USB-накопителей?
Операционная система Win7 работаю с правами админа. Программа DeviceLock запрещает использование usb-накопителей. Флешки видит, но доступ к...

Статистика текущего использования накопителей в Windows
Как узнать статистику текущего использования накопителей в Windows? Т.е. какой процесс на сколько процентов сейчас использует диск. ...

52
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
10.03.2011, 08:50
Тема к языку не относится, тебе в раздел по осям.
0
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
10.03.2011, 08:54  [ТС]
Цитата Сообщение от taras atavin Посмотреть сообщение
Тема к языку не относится, тебе в раздел по осям.
Типичный ответ для Российского форума, это когда не могу помочь или не хочу, то пошлю...
0
145 / 100 / 6
Регистрация: 11.03.2010
Сообщений: 477
10.03.2011, 12:01
смотри какая штука, по хорошему чел был прав, тебе не сюда.

сдесь же можно написать программу которая будет изменять ключик в реестре(быстрее это сделать просто руками через регедит).
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl Set\Services\USBSTOR
"start" set to 4(default 3).

если надо много много раз изменить ключик на много много компьютерах то вот тебе хелп:

статейка на сайте майкрософта

как работать с реестром есть прикрепленная темка в верху форума.


но опять таки повторюсь, у тебя в 10 раз быстрее полчутся сделать все руками через реестр, или батничком как по ссылке.
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
10.03.2011, 13:05
Цитата Сообщение от koldun Посмотреть сообщение
смотри какая штука, по хорошему чел был прав, тебе не сюда.
как работать с реестром есть прикрепленная темка в верху форума.
но опять таки повторюсь, у тебя в 10 раз быстрее полчутся сделать все руками через реестр, или батничком как по ссылке.
- странный ты , а про уважаемого мной taras atavin'a я молчу вобче .
Если вы в разделе Билдера - из этого и необходимо исходить по умолчанию...

Теперь ближе к теме.

Один из вариантов, при котором может понадобиться оное - запрет копирования результатов работы программы на USB pen drive, а непосредственного доступа к машине, на которой установлена программа, у разработчика нет - пример чисто теоретический, потому как обойти сие можно разными путями, но, поскольку Samrisbe внятно не сказал, для чего сие необходимо, приходится фантазировать. Вот тут и всплывает вся прелесть ваших умозаключений и "дружеских" советов - предоставить пользователю данной супер-пупер программы подробную инструкцию по отключению UCB-накопителя.
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
10.03.2011, 13:16  [ТС]
Еслеб мне самому это надобыло то да ручками и все ок. у меня чел за 5000 км сидит и просит простейшую программу, типа на форме нажал на кнопку флешки не работают, нажал на вторую и заработали...
Я сам начинающий, и команды для внесения изменений в реестр я оприори не могу знать, поэтому пишу здась...гы
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
10.03.2011, 13:23
Цитата Сообщение от Samrisbe Посмотреть сообщение
Я сам начинающий, и команды для внесения изменений в реестр я оприори не могу знать, поэтому пишу здась...гы
начинающий тем более должен быть в состоянии обратить внимание на "важную" статью в начале раздела:
Работа с реестром в C++ Builder.
С таким подходом начинающий априори знать не будет многого .
1
145 / 100 / 6
Регистрация: 11.03.2010
Сообщений: 477
10.03.2011, 13:25
Лучший ответ Сообщение было отмечено как решение

Решение

примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
TRegistry *reg=new TRegistry(KEY_ALL_ACCESS);
reg->RootKey=HKEY_LOCAL_MACHINE;
reg->OpenKey("SYSTEM",true);
reg->OpenKey("CurrentControlSet",true);
reg->OpenKey("Services",true);
reg->OpenKey("USBSTOR",true);
reg->WriteInteger("start",4);
reg->CloseKey();
reg->CloseKey();
reg->CloseKey();
reg->CloseKey();
delete reg;
вешаешь на кнопку запретить.


если нужно еще и разрешить, то меняешь
reg->WriteInteger("start",4);

на

reg->WriteInteger("start",3);
3
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
10.03.2011, 13:30
Можно еще тут http://support.microsoft.com/kb/555324 посмотреть, хотя с реестром это вариант довольно дохлый. По-хорошему, это надо бы перехватывать обращение к USB-накопителю и может даже сообщать пользователю, что у него "недостаточно прав для использования данной приблуды на этой машине", что тоже не есть хорошо, поскольку наталкивает пользователя на определенные мозгодвижения.
1
145 / 100 / 6
Регистрация: 11.03.2010
Сообщений: 477
10.03.2011, 13:36
Цитата Сообщение от LK Посмотреть сообщение
Можно еще тут http://support.microsoft.com/kb/555324 посмотреть, хотя с реестром это вариант довольно дохлый.

Не по теме:

я эту ссылку давал в своем посте тут(4-й пост) :p

1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
10.03.2011, 13:41
Цитата Сообщение от koldun Посмотреть сообщение

Не по теме:

я эту ссылку давал в своем посте тут(4-й пост) :p

наверное, я ее посмотрел, забыл - откуда взялась, и перезалил . Ну... Лучше сорок раз по разу, чем ни разу - сорок раз .
По теме: есть еще апи-варианты типа
если я хочу общаться с USB-накопителем своими собственными спецкомандами, для этого я сначала открываю устройство при помощи hUsbFlash = CreateFile(manamana).
При этом я передаю в качестве пути к устройству название диска "\\\\.\\G:" например... Всюду в примерах в качестве пути к устройсву USB (не обязательно накопитель), передается нечеловеческая строка типа "\\\\.\\Ezusb-0", смысл которой я даже не улавливаю...
После открытия файла я получаю указатель, по которому пытаюсь обращаться через DeviceIOControl(hUsbFlash, IOCTL_USB_USER_REQUEST,...)
, но муторно оно все как-то.
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
10.03.2011, 13:46  [ТС]
вешаешь на кнопку запретить.


если нужно еще и разрешить, то меняешь
reg->WriteInteger("start",4);

на

reg->WriteInteger("start",3);[/QUOTE]

Я извиняюсь за навязчивость, вы мне с ошибками которые борланд6 выдал не поможете?

[C++ Error] Unit1.cpp(20): E2451 Undefined symbol 'TRegistry'
[C++ Error] Unit1.cpp(20): E2451 Undefined symbol 'reg'
[C++ Error] Unit1.cpp(20): E2303 Type name expected
[C++ Error] Unit1.cpp(20): E2379 Statement missing ;
[C++ Error] Unit1.cpp(31): E2158 Operand of 'delete' must be non-const pointer
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
10.03.2011, 14:00
#include <Registry.hpp>
или
#include "Registry.hpp"
Слушай, ты NiTan'ову-то статью прочти, а то совсем уже наглость какая-то получается.

И шо-то я сильно подозреваю, что вот это
C++
1
2
3
4
5
HKEY_LOCAL_MACHINE;
reg->OpenKey("SYSTEM",true);
reg->OpenKey("CurrentControlSet",true);
reg->OpenKey("Services",true);
reg->OpenKey("USBSTOR",true);
можно передать одной строкой
C++
1
HKEY_LOCAL_MACHINE, "SYSTEM\\CurrentControlSet\\Services\\USBSTOR"
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
10.03.2011, 14:41  [ТС]
Все скомпелировал вот только флешки после клика всеравно работают, я програмку прикреплю, а уважаемый LK посмотрит на досуге может где ошибка.
Ситуевина у моего брата такая -ребенок на домашний копм, какие только проги и игры на ставит то с сд, то с флешки, и не проконтролируеш их качество, а родители иной раз е-маил не могут проверит, комп глючит от всякой лабуды (цитирую LK), а так все на замке когда надо родитель клац ехе файл и на форме две кнопки включить порта и сд-ром, или отключить,
Я ушел читать, статью по работе с реестром.
Всем спасибо за помощь.
Вложения
Тип файла: rar Usb control.rar (340.5 Кб, 35 просмотров)
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
10.03.2011, 14:46
так для внесения изменений в реестр может требоваться перезагрузка, попробуй сам
(цитирую LK)
, LK становится классиком
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
10.03.2011, 15:11  [ТС]
Все работает.
Вот только постле каждого отключения или подключения, перезагружать тоже не вариант, может рассмотрим вариант где перезагрузка не требуется.
Ох чувствую LK не одобрит эту затею и пошлет меня учиться
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
10.03.2011, 15:16
простите, уважаемый Samrisbe, но
Миниатюры
Запрет использования usb накопителей  
0
145 / 100 / 6
Регистрация: 11.03.2010
Сообщений: 477
10.03.2011, 15:33
кстати при правке ключа в реестре, перегрузка не нужна

изменения вступают в силу моментально.

как вариант(очень очень очень грубый вариант) можно прибить процесс explorer.exe и наново его запустить
0
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
10.03.2011, 15:34  [ТС]
Виноват, извините, вот вроде так должно у вас заработать на 2010.
Вложения
Тип файла: rar Usb control.rar (552.5 Кб, 76 просмотров)
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
10.03.2011, 15:38
Цитата Сообщение от koldun Посмотреть сообщение
кстати при правке ключа в реестре, перегрузка не нужна
изменения вступают в силу моментально.
так Samrisbe цитирует результат использования твоего же кода .

Добавлено через 1 минуту
Цитата Сообщение от Samrisbe Посмотреть сообщение
Виноват, извините, вот вроде так должно у вас заработать на 2010.
как я ждал этат мамэнт !!! дошло...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.03.2011, 15:38
Помогаю со студенческими работами здесь

Блокировка USB накопителей
Добрый день. Нужна помощь. Пишу программу на С++. Задача такая: Нужно блокировать все usb накопители (только накопители, клавиатура/мышь...

ACDSee и автозапуск usb-накопителей
Такая проблема, что на windows XP программа ACDSee отключает автозапуск usb-устройств, на мой взгляд проблема не то, чтобы не должна...

Обход блокировки usb накопителей
В компьютер подключаются только накопители, предварительно &quot;зарегистрированные&quot; в IT службе. Вопрос, как компьютер может...

База USB накопителей с проверкой
Задумал навоять маленькую базу учета USB накопителей и решил сразу в этой базе сделать возможность проверки компов на подключение...

Мониторинг USB накопителей в локальной сети
Всем привет. Работаю над одним приложением. Приложение состоит из одной серверной части и много клиентской. На ПК клиента устанавливается...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru