События кнопок HID под VB6 - Форум Picbasic.ru
Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум Picbasic.ru » Скорая помощь начинающим » Помощь в вопросах программирования » События кнопок HID под VB6 (Помогите найти API или класс)
События кнопок HID под VB6
Boris Дата: Пн, 27.04.2015, 17:38  |                                                                                                                Сообщение # 1
Группа: Пользователи
Ранг:  Новенький
Сообщений: 7
Репутация: 0   ±
Замечания:   ±
На сайте с 27.04.2015

Статус: Offline

Здравствуйте.

Есть нужда под VB6 получить события нажатий кнопок на USB HID. Думал, что влегкую найду какой-нибудь API, но не смог. Материалов полно в Сети, но все не совсем то. Единственное, что у меня заработало это http://janaxelson.com/files/usbhidio2.zip
Устройство видится, опознается, взаимодействует, но в этом проекте нет ни слова про события.

VB6 - критично. Больше ни в чем не пишу, остальные языки - читаю со словарем :) Связь нужна только односторонняя - чисто обработать события. С устройством больше никто в системе не взаимодействует, т.е. обращаться с ним можно монопольно. В системе HID встает сам, с дефолтными из поставки оси. Ось - 2003EE SP2 x86.

Ткните, плз, в нужную сторону.

Add: речь идет о USB HID, если что...

Сообщение отредактировал Boris - Пн, 27.04.2015, 17:44
ЯНДЕКС Дата: 27.04.2015
MiXaS Дата: Пн, 27.04.2015, 22:02  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 613
Репутация: 26   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

На этом сайте есть прекраснася статья посвященная hid. Все подробно. Воспользуйтесь поиском, он здесь тоэе работает хорошо
Boris Дата: Пн, 27.04.2015, 22:19  |                                                                                                                Сообщение # 3
Группа: Пользователи
Ранг:  Новенький
Сообщений: 7
Репутация: 0   ±
Замечания:   ±
На сайте с 27.04.2015

Статус: Offline

MiXaS, если речь идет о "USB HID + Visual Basic 6" в 3-х частях с Приложением, то через нее я и оказался на этом форуме. Я за день просмотрел больше 20-ти проектов на разных языках, поэтому сейчас не могу сказать точно - почему мне не помог этот материал. По памяти - смутила необходимость установки Swordfish, при том - с хитростями, и что-то не покатило с самим проектом. В любом случае, если бы там в явном виде присутствовали евенты, то ... ну не мог же я просмотреть их. Я, конечно, вернусь к нему.
MiXaS Дата: Пн, 27.04.2015, 22:47  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 613
Репутация: 26   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Тогда вопрос, на чем собираетесь писать софт для мк? Здесь же на форуме есть тема, где DNM, поднимает вопрос и решает его. Я бы Вам помог, но пока не знаю чем. Вам что–то готовое нужно?

Добавлено (27.04.2015, 22:47)
---------------------------------------------
Я пробовал связываться по этому протоколу, но это было так давно, что я не поняю какие там были события, помню, что плагин выдает 2 проекта после компиляции один в протоне, другой в вб6.

Boris Дата: Пн, 27.04.2015, 23:08  |                                                                                                                Сообщение # 5
Группа: Пользователи
Ранг:  Новенький
Сообщений: 7
Репутация: 0   ±
Замечания:   ±
На сайте с 27.04.2015

Статус: Offline

МК == микроконтроллер? Если так, то я вообще в ту сторону не смотрю. Все гораздо проще. Есть тлф трубка и надо с нее получить факт нажатия клавиши или комбинации клавиш. Трубка просто под руками оказалась, а так, считай - любая USB консолька с кнопками. Это не принципиально. В конечном итоге там будет совсем другая погремушка. А трубка даже хорошо - не пересекается ни с кем.

Я искренне предполагал, что достаточно прицепить к проекту некую длл, которая даст набор методов, свойств и событий. Но я ничего подобного под VB6 не вижуMicrodoft все свои древние наработки засекретил. Есть множество решений под шарп, под си++, паскаль, ассемблер. Кросс- и моноплатформенные, самостоятельные разработки и подвыдранные. Голова уже кругом идет... А простого под VB6  - нету.

Щаз вернулся к упомянутой статье и ее материалам. Буду более внимательно смотреть. Явно - событий там нет - есть лишь колбэки из ф-ций длл. Я тупо подставлял свои VID-PID, что-то там шевелилось... мне пока сходу не совсем ясно, как это все работает. Вот как бы упростить это хозяйство под мои скромные нужды?
MiXaS Дата: Пн, 27.04.2015, 23:17  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 613
Репутация: 26   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Ясно! Эта статья немного не о том, что Вам нужно. Вообще вб6 устарел, пора на шарп садиться, хотя мне тоже лень переучиваться, так как шарп вообще с приколами. Я постараюсь найти свой проект, там точно помню была дллка, типа hid.dll, но вот не помню были события или нет. Постараюсь завтра
Boris Дата: Пн, 27.04.2015, 23:18  |                                                                                                                Сообщение # 7
Группа: Пользователи
Ранг:  Новенький
Сообщений: 7
Репутация: 0   ±
Замечания:   ±
На сайте с 27.04.2015

Статус: Offline

Вру. Не зашевелилось. Это в другом проекте я ее видел - что-то там обменивалось. А здесь подставил вот так:
Код
Private Const VendorID = &H6993
Private Const ProductID = &HB700

' Код сгенерированный EASYHID
'Private Const VendorID = 6017
'Private Const ProductID = 2000
но не видит :(
MiXaS Дата: Пн, 27.04.2015, 23:23  |                                                                                                                Сообщение # 8
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 613
Репутация: 26   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

По–поводу vendor id и product id я вообще не помню, надо покурить в сети, если не ошибаюсь эти айди указывают на тип устройства, знать бы какой тип у вашего телефона...
Boris Дата: Пн, 27.04.2015, 23:26  |                                                                                                                Сообщение # 9
Группа: Пользователи
Ранг:  Новенький
Сообщений: 7
Репутация: 0   ±
Замечания:   ±
На сайте с 27.04.2015

Статус: Offline

Цитата MiXaS ()
Вообще вб6 устарел, пора на шарп садиться, хотя мне тоже лень переучиваться, так как шарп вообще с приколами. Я постараюсь найти свой проект, там точно помню была дллка, типа hid.dll, но вот не помню были события или нет. Постараюсь завтра

Я буду очень признателен - вдруг окажется, что оно :)
Устарел VB6 - это немного неправильно. Это его искуственно "устарели", в частности - забросив разработку.

Добавлено (27.04.2015, 23:26)
---------------------------------------------

Цитата MiXaS ()
По–поводу vendor id и product id я вообще не помню, надо покурить в сети, если не ошибаюсь эти айди указывают на тип устройства, знать бы какой тип у вашего телефона...
Именно такой, как я указал. Это взято из Device Management, да и сторонние утилиты именно их показывают. В проекте по ссылке в моем первом посте - именно они подхватились на ура. И еще в однм - тоже.
MiXaS Дата: Пн, 27.04.2015, 23:30  |                                                                                                                Сообщение # 10
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 613
Репутация: 26   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Согласен! Что поделать капитализм. Но честно, я год назад пересел на vb.net 2010, он по удобнее, визуализация приятее, хотя по функционалу примерно такой же.

Добавлено (27.04.2015, 23:29)
---------------------------------------------
Это уже хорошо! Надесь решим Вашу проблемку

Добавлено (27.04.2015, 23:30)
---------------------------------------------
Я по ссылке пошел, а там зип, а на андроиде нет доп программ, чтоб глянуть что там, поэтому я и не в теме

Boris Дата: Пн, 27.04.2015, 23:39  |                                                                                                                Сообщение # 11
Группа: Пользователи
Ранг:  Новенький
Сообщений: 7
Репутация: 0   ±
Замечания:   ±
На сайте с 27.04.2015

Статус: Offline

MiXaS, утро вечера мудренее. Спасибо и за это участие.
Завтра может еще народ подтянется.Ведь кто-то должен был руками трогать эту байду.
MiXaS Дата: Вт, 28.04.2015, 14:38  |                                                                                                                Сообщение # 12
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 613
Репутация: 26   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

читайте личку
Boris Дата: Ср, 29.04.2015, 14:42  |                                                                                                                Сообщение # 13
Группа: Пользователи
Ранг:  Новенький
Сообщений: 7
Репутация: 0   ±
Замечания:   ±
На сайте с 27.04.2015

Статус: Offline

Итак. Все заработало. Благодаря MiXaS более внимательно вчитался в код, который уже несколько раз видел. Но, надо отдать должное, вариант, который он прислал не был перегружен непонятностями и позволил быстро вычленить необходимое мне.

Евентов там никаких не оказалось, а, как я писал выше - уже знакомые колбэки. Но в Мишином примере их реализация оказалась понимабельной для меня :) MiXaS - спасибо огромное.

Суть (кратко) - евенты надо организовывать самому через эти самые колбэки. А это реализовано во всех виденных мной библиотеках. В данном случае речь идет о mcHID.dll v.1.0.0.39. Выбор нужной - дело слесаря. Боица :)

Чуть позже выложу если не класс для работы с ней, но, по крайней мере, рабочий проектик. Там всего-то пара строк.

---------------------------------
Тем не менее встал ребром вопрос:

Как получить комбинацию клавиш?

Я сейчас вижу нажатия (в первом регистре) и отжатия (в шестом) клавиши. В остальных регистрах - неупорядоченный (на глаз) шум. Модифицируемая (нажимаемая  во время удержания модификатора) клавиша не детектируется - только клавиша-модификатор.
MiXaS Дата: Ср, 29.04.2015, 17:21  |                                                                                                                Сообщение # 14
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 613
Репутация: 26   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Вот и славно! Успехов!
Форум Picbasic.ru » Скорая помощь начинающим » Помощь в вопросах программирования » События кнопок HID под VB6 (Помогите найти API или класс)
Страница 1 из 11
Поиск: