Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Отключение/включение Устройства


Автор: dimaib 3.1.2014, 12:35
Здравствуйте!
есть задача - отключение и последующее включение переходника USB-COM (как в диспетчере устройств - Отключить\Задействовать устройство)
После поиска в гугле нашел разные статьи о SetupAPI и консольной программке DEVCON:
 первое - нет ничего вразумительного на VB6 - а на С, Delphy и на .net не совсем все понятно.. 
 второе - это наверное стоит оставить на очень очень очень крайний и безысходный случай=)
Также нашел пример на ВБ - он просматривает список сетевых контроллеров в реестре и пытается работать с ними через АПИ  (DeviceIoControl, CreateFile, CloseHandle), но ничего не происходит.. и иногда компилятор просто вылетает - закрывается! - возможно это из за ОС (Win8)
Помогите пожалуйста советом и примерчиком=)
Спасибо!

Автор: Akina 3.1.2014, 20:19
Цитата(dimaib @  3.1.2014,  13:35 Найти цитируемый пост)
задача - отключение и последующее включение переходника USB-COM (как в диспетчере устройств - Отключить\Задействовать устройство)

Ну так и решай ЗАДАЧУ.
Сначала - максимально быстро и при этом с гарантией. Т.е. именно через SHELL "Devcon.EXE [param]". А потом уже возьмёшься за низкие реализации.
Кстати, у тебя задача определения цепи устройств - решена? потому как для USB2COM отключать по-хорошему надо бы не сам контроллер переходника, а корневик, к которому он подключен...

Автор: dimaib 3.1.2014, 21:04
Проблема заключается в следующем:
переходник USB COM имелось ввиду устройство которое подключается к USB - и определяется как ком.. - но на другом конце контроллер - с которым мы и общаемся.. в случайный момент контроллер может зависнуть.. - и открытие закрытие порта не помогает.. - помогает или полное отключение питания от него или в диспетчере устройств - отключить и запустить заново данный ком порт.
Я попросил вас помочь именно с последним решением (отключить и запустить заново данный ком).. тк через девком все коряво но сделанно

Автор: Akina 3.1.2014, 22:56
Цитата(dimaib @  3.1.2014,  22:04 Найти цитируемый пост)
переходник USB COM имелось ввиду устройство которое подключается к USB - и определяется как ком.. 

Хренасе у Вас аналогичность...

Цитата(dimaib @  3.1.2014,  22:04 Найти цитируемый пост)
через девком все коряво но сделанно 

А что именно коряво-то?

Цитата(dimaib @  3.1.2014,  22:04 Найти цитируемый пост)
Я попросил вас помочь именно с 

Читать я умею, ещё не разучился.

Цитата(dimaib @  3.1.2014,  22:04 Найти цитируемый пост)
с последним решением

Пжалста. 
Вот скажем решение. Рабочее, пусть и с оговорками.
http://www.codeproject.com/Articles/21503/Hardware-Helper-Library-for-C
Оно не для реализации, а просто чтобы посмотреть начинку и понять "простоту" проблемы.
Да, на восьмёрке оно работать не будет. Даже на Висте - и то не будет...

PS. Системные вещи на VB обычно не делают.

Добавлено через 10 минут и 16 секунд
Можешь попробовать работать с cfgmgr32 primitive.
Вот референс по нему: http://msdn.microsoft.com/en-us/library/windows/hardware/ff549717(v=vs.85).aspx
Берёшь CM_Disable_DevNode function, отключаешь... комплементарной - включаешь...
Ну а уж дефиниции да обвязку - это сам, сам... Референс поширше - ну чтобы понимать, чем обвязывать - http://msdn.microsoft.com/en-us/library/windows/hardware/ff550897(v=vs.85).aspx

Автор: dimaib 3.1.2014, 23:30
спасибо большое! - сейчас буду рыть и читать!
а по поводу девкома - по вашему стороннее приложение запускать это хорошо? - это даже как то душа не спокойна=)

Автор: Akina 3.1.2014, 23:42
Цитата(dimaib @  4.1.2014,  00:30 Найти цитируемый пост)
по вашему стороннее приложение запускать это хорошо? - это даже как то душа не спокойна=) 

Как по мне, так недефолтный компонент операционной системы, поставляемый разработчиком ОС - это ни разу не стороннее приложение. 

Автор: dimaib 4.1.2014, 00:36
стороннее приложение имеется ввиду что это exe файл
и в моей ОС его не было.. - надо было скачивать

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)