Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/43: Рейтинг темы: голосов - 43, средняя оценка - 4.63
 Аватар для VirusVoronezh
1 / 1 / 0
Регистрация: 21.11.2008
Сообщений: 70

Отключение usb портов по отдельности

27.08.2012, 09:59. Показов 8795. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот такая тема: начальство выиграло тендер на поставку компов, компы собрались, доставили, а при сдаче вот такая беда...

По условиям договора, в компах должна быть возможность отключения по отдельности каждого usb порта, т.е. к примеру: на материнской плате есть 4 порта, нужно сделать так, чтобы, например, не работал 1 и 4 порт или все кроме 2 порта....

Мне начальство поставило задачу, найти способ как это сделать... Я гуглил пару дней, создавал темы на софтовых форумах, но всё без результатно Весь софт, который я находил или мне советовали выполняет функционал: либо отключения всех usb устройств, либо отключения определённого типа устройств (флешки, принтера... т.д.)....

Я сам работаю тут (в паралель с учёбой) инженером (компы кручу, софт ставлю, ремонт), сам пишу на C#, но что-то подсказывает, что обращаться нужно именно к C++'сникам (т.е. к вам ).

Буду благодарен за любую помощь, хоть в кусках кода... может кто поможет в написании...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.08.2012, 09:59
Ответы с готовыми решениями:

Отключение USB-портов
Добрый день, такая проблема, отключаются USB мышь и клава, при чем во время просто серфа, просмотра фильмов или работы с простенькими...

Отключение USB портов
Безопасно ли использовать в реестре такую строку HKEY_LOCAL_MACHINE\System\CurrentControlSet\services\usbhub\hubg ->...

Отключение USB портов
Нужно отключить все USB порты на компьютере. В HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR Start изменяю 00000003 на...

12
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,867
27.08.2012, 10:02
вообще-то в компе стоит ХАБ (один или несколько) и отключить ты сможешь только его
со всеми портами
физически не подойдет??
0
 Аватар для VirusVoronezh
1 / 1 / 0
Регистрация: 21.11.2008
Сообщений: 70
27.08.2012, 10:15  [ТС]
ValeryS, благодарен за столь быстрый отклик )))

Но уважаемый ValeryS, я уже Диспетчер устройств пролазил, увы, если было бы так просто... Но нужно отключение ИМЕННО ПО ОТДЕЛЬНОСТИ КАЖДОГО usb порта!

Вот поэтому собственно сюда и обратился (( Я уже пробовал и аналоги Дипетчера - прогу от Microsoft'a под названием DevCon (но это аналог Диспетчера, только в консольном исполнении), т.е. всё тоже самое, только usb концентратор можно вырубить, отключить usb устройство... но это не подходит!
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
27.08.2012, 11:13
VirusVoronezh, посмотри WM_DEVICECHANGE
http://msdn.microsoft.com/en-u... s.85).aspx
Суть - устройство появилось (DBT_DEVICEARRIVAL) на нужном тебе порте - отрубывай его посылом этого же сообщения только DBT_DEVICEREMOVECOMPLETE (вобщем подменяй сообщения - система вместо монирования выбросит устройство). Порт зашит здесь DBT_DEVTYP_PORT http://msdn.microsoft.com/en-u... s.85).aspx
C++
1
2
3
4
5
6
typedef struct _DEV_BROADCAST_PORT {
  DWORD dbcp_size;
  DWORD dbcp_devicetype;
  DWORD dbcp_reserved;
  TCHAR dbcp_name[1]; //Вот имя порта
} DEV_BROADCAST_PORT, *PDEV_BROADCAST_PORT;
1
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
27.08.2012, 11:43
Но нужно отключение ИМЕННО ПО ОТДЕЛЬНОСТИ КАЖДОГО usb порта
видимо не дошло с первого раза ...отключить (размонтировать) можно только внутренний хаб (хабы на выбор) с принадлежащими ему портами или отдельную флешку .

начальство выиграло тендер на поставку компов, компы собрались, доставили, а при сдаче вот такая беда...

По условиям договора, в компах должна быть возможность отключения по отдельности каждого usb порта, т.е. к примеру: на материнской плате есть 4 порта, нужно сделать так, чтобы, например, не работал 1 и 4 порт или все кроме 2 порта....
...ну, выведите их физически все на переднюю панель столько, сколько нужно ...если надо, с переключателями-кнопками.

Суть - устройство появилось (DBT_DEVICEARRIVAL) на нужном тебе порте - отрубывай его посылом этого же сообщения только DBT_DEVICEREMOVECOMPLETE
можно конечно и подшаманить , вот только не для флешек может не сработать.
0
 Аватар для VirusVoronezh
1 / 1 / 0
Регистрация: 21.11.2008
Сообщений: 70
27.08.2012, 12:35  [ТС]
-=ЮрА=-, вот, уже и кусками кода начали делиться, это хорошо как я говорил, что в С++ я несилён, ибо пишу на C# только, но сейчас докрутим ещё 25 компов почитаю в инете про это ))

Надеюсь -=ЮрА=-, вы ещё загляните в эту тему ))

Цитата Сообщение от raxp Посмотреть сообщение
можно конечно и подшаманить , вот только не для флешек может не сработать.
raxp, главное чтобы с флешками это всё работало, на остальные устройства пофиг.

Цитата Сообщение от raxp Посмотреть сообщение
...ну, выведите их физически все на переднюю панель столько, сколько нужно ...если надо, с переключателями-кнопками.
raxp, с радостью, если был бы 1 ПК, а их over30 и все они уже доставлены в другой город, по условиям тендера (электронного аукциона) ещё есть 1 неделя на то, чтобы всё было как прописано в ТЗ.... ничего доставить увы не получится, надо как-то решить эту проблему софтово, но софт который я находил в инете не соответствуют, как я уже писал, тому что нам нужно...
0
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
27.08.2012, 12:52
вот, уже и кусками кода начали делиться, это хорошо как я говорил, что в С++ я несилён, ибо пишу на C# только, но сейчас докрутим ещё 25 компов почитаю в инете про это
ну, могу готовым кодом размонтирования через SetupAPI поделиться, но на Delphi ...в комплекте "мини-HASP" свободно приложен.

Однако, появляется закономерный вопрос: железо вы поставили. А как же быть с ОС на ПК? Ежели заказчик поставит "не Windows" или будет под DOS-м просто? Что тогда с ПО мониторинга и "WIN-демоном" размонтирования? Под каждую ОС писать? Костыль. Пойдем дальше: представьте ситуацию с вирусней на машине, вирусня тоже отслеживает появление флешек и начнет писать на нее, а значит "демона" надо усовершенствовать - дабы еще и процессы отслеживал и вырубал перед размонтированием. Предел-ли? Навряд.


p.s.: а вообще, насчет "начальство выиграло тендер на поставку компов" и не посоветовалось по технической части по выполнению условий тендера, можно только посочувствовать подчиненным.
0
27.08.2012, 13:10

Не по теме:

Цитата Сообщение от VirusVoronezh Посмотреть сообщение
Надеюсь -=ЮрА=-, вы ещё загляните в эту тему ))
- заглянул, а что собственно требуется от меня?:scratch:

0
 Аватар для VirusVoronezh
1 / 1 / 0
Регистрация: 21.11.2008
Сообщений: 70
27.08.2012, 13:13  [ТС]
Цитата Сообщение от raxp Посмотреть сообщение
ну, могу готовым кодом размонтирования через SetupAPI поделиться, но на Delphi ...в комплекте "мини-HASP" свободно приложен.
Так, так, так... я согласен на любой язык программирования )) А что такое за зверь "мини-HASP", и о какой приложухи идёт речь!?!?! Что такое HASP ключики я знаю, юсб брелки, мы с такими работаем, к примеру у продукта VideoNet как раз они используются, у них в хасп ключ - является лицензией продукта, при запуске прога проверяет наличие хасп ключа, смотрит какая туда лицензия зашита ну и от него она и пляшет (т.е. включает те или иные функции)


Цитата Сообщение от raxp Посмотреть сообщение
Однако, появляется закономерный вопрос: железо вы поставили. А как же быть с ОС на ПК?
Тут всё ок, там по ТЗ мы им поставляли лиц 32bit Windows XP, поэтому с языками программирования всё нормально.

Цитата Сообщение от raxp Посмотреть сообщение
p.s.: а вообще, насчет "начальство выиграло тендер на поставку компов" и не посоветовалось по технической части по выполнению условий тендера
За именно этот тендер был ответственен конкретный менеджер, он там с руководством всё согласовывал... ну в этот раз невнимательно всё сделали, махнули рукой на этот пункт, а когда уже мы привезли в другой город компы на машине, то при демонстрации с нас начали всё чётко по пунктам... и вот отключение хабов в Диспетчере их нефига не устроило ))) А ещё у них в аудитории стояло дофига Kraftway ПК, на которых эта функция есть (я о отключении по отдельности usb портов)... вот так вот!

Там ещё кучу пунктов, которые было упущенно манегером (там компы должны на уровне bios'a ставить пароль на hdd, но мы им на этот пункт отмазались тем что у victoria 4 есть функция, которая позволяет паролить хдд, а на тех же kraftway'ях эта функция как раз в биосне есть....), вот так вот косячно выиграли мы тендер ))


Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- заглянул, а что собственно требуется от меня?
Пока ничего, через часик должен освободиться, изучу поподробней инфу из вашего поста, ну и если вдруг потребуется помощь, надеюсь потом загляните ещё сюда и подскажите )))
0
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
27.08.2012, 13:37
согласен на любой язык программирования
...
А что такое за зверь "мини-HASP"
на моем ресурсе статья по теме, в блогах тут сам компонент с исходниками, но суть не в этом: вам нужен лишь отдельный автономный модуль оттуда (из архива) - remove_usb.pas.

За именно этот тендер был ответственен конкретный менеджер, он там с руководством всё согласовывал
...
Там ещё кучу пунктов, которые было упущенно манегером
требуйте к вашей ЗПЛ + ЗПЛ менеджера и премию директорскую и... нам проценты

А ещё у них в аудитории стояло дофига Kraftway ПК, на которых эта функция есть (я о отключении по отдельности usb портов)... вот так вот!
вот так вот, народ избалован фичами, а вы их обделить хотели

Тут всё ок, там по ТЗ мы им поставляли лиц 32bit Windows XP, поэтому с языками программирования всё нормально.
выкрутились. А что насчет вирусней?

p.s.: вот по размонтированию тоже из утилит с открытым кодом - RemoveDrive https://www.cyberforum.ru/blog... og627.html.
0
 Аватар для VirusVoronezh
1 / 1 / 0
Регистрация: 21.11.2008
Сообщений: 70
27.08.2012, 16:24  [ТС]
Цитата Сообщение от raxp Посмотреть сообщение
на моем ресурсе статья по теме, в блогах тут сам компонент с исходниками, но суть не в этом: вам нужен лишь отдельный автономный модуль оттуда (из архива) - remove_usb.pas
raxp, почитал эту пдфку, не знаю почему там написан мини-хасп, видно из-за размеров? )) Ну у нас такие же хаспики, как на картинках в VideoNet'e используются, и кличут их просто хасп )) Но дела даже не в этом... чем мне эта статья поможет? Те куски кода, как я понял, нацелены на проверку ИД флешки, если он такой же как и в проге, то винда разлокируется, если нет флешки или ВИД не тот, то винда заблочена... но чем мне это может помочь? Как она не поможет определять порт, в какой подрублена флеха?


Цитата Сообщение от raxp Посмотреть сообщение
требуйте к вашей ЗПЛ + ЗПЛ менеджера и премию директорскую и... нам проценты
Ах если бы, ах если бы, не жизнь была, ахе если бы.... )))


Цитата Сообщение от raxp Посмотреть сообщение
А что насчет вирусней?
А что там не так с вируснёй?
0
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
27.08.2012, 17:00
Цитата Сообщение от VirusVoronezh
почитал эту пдфку, не знаю почему там написан мини-хасп, видно из-за размеров? )) Ну у нас такие же хаспики, как на картинках в VideoNet'e используются, и кличут их просто хасп )) Но дела даже не в этом... чем мне эта статья поможет? Те куски кода, как я понял, нацелены на проверку ИД флешки, если он такой же как и в проге, то винда разлокируется, если нет флешки или ВИД не тот, то винда заблочена... но чем мне это может помочь?
не читайте между строк мой совет. Специально для невнимательных:
Цитата Сообщение от raxp
вам нужен лишь отдельный автономный модуль оттуда (из архива) - remove_usb.pas.
====================

Цитата Сообщение от VirusVoronezh
А что там не так с вируснёй?
cнова для невнимательных:
Цитата Сообщение от raxp
вирусня тоже отслеживает появление флешек и начнет писать на нее, а значит "демона" надо усовершенствовать - дабы еще и процессы отслеживал и вырубал перед размонтированием.
====================

Цитата Сообщение от VirusVoronezh
Ах если бы, ах если бы, не жизнь была
на самом-то деле, решений множество. Подождем ваших наработок, материала для реализации вам накидано достаточно для самостоятельной работы.
0
 Аватар для VirusVoronezh
1 / 1 / 0
Регистрация: 21.11.2008
Сообщений: 70
27.08.2012, 17:05  [ТС]
Ах если бы, ах если бы, не жизнь была -- это было написан комментарий о доп. премии от зарплаты начальники манегера )))


Цитата Сообщение от raxp Посмотреть сообщение
Подождем ваших наработок, материала для реализации вам накидано достаточно для самостоятельной работы
Да, обдумаем, почитаем, попробую что-нить воспроизвести вечерком или завтра утром.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.08.2012, 17:05
Помогаю со студенческими работами здесь

Отключение usb портов
Всем привет! Возникла такая проблема. Есть 20 машин, учебный класс, на них стоит win7, нужно отключить usb-порты, чтобы не было такого,...

Отключение USB портов
Добрый день. У меня возникла такая проблема, что после выключения ПК в гарнитуре продолжают гореть диоды(гарнитура подключена к USB2.0)....

Отключение/включение USB портов
можно написать в коде программу, на отключение включение портов USB?

Внезапное отключение всех USB-портов
Здравствуйте. На рабочем компьютере с Windows XP SP3 перестали работать все USB-порты. Что изменилось, мне неизвестно, просто после одной...

Отключение usb портов, кроме мышки и клавиатуры
Прочитал пост про отключение ,но так ничего толкового не получилось :(поменять значение у Start на 4 нормально ничего не работает ....


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru