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

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

10.03.2011, 08:49. Показов 14408. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru