События кнопок HID под VB6
|
|
Boris |
Дата: Пн, 27.04.2015, 17:38 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
7
Замечания:
±
На сайте с 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
|
|
|
|
MiXaS |
Дата: Пн, 27.04.2015, 22:02 | Сообщение # 2 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
549
Замечания:
±
На сайте с 02.10.2010
Статус:
Offline
|
На этом сайте есть прекраснася статья посвященная hid. Все подробно. Воспользуйтесь поиском, он здесь тоэе работает хорошо
|
|
|
|
Boris |
Дата: Пн, 27.04.2015, 22:19 | Сообщение # 3 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
7
Замечания:
±
На сайте с 27.04.2015
Статус:
Offline
|
MiXaS, если речь идет о "USB HID + Visual Basic 6" в 3-х частях с Приложением, то через нее я и оказался на этом форуме. Я за день просмотрел больше 20-ти проектов на разных языках, поэтому сейчас не могу сказать точно - почему мне не помог этот материал. По памяти - смутила необходимость установки Swordfish, при том - с хитростями, и что-то не покатило с самим проектом. В любом случае, если бы там в явном виде присутствовали евенты, то ... ну не мог же я просмотреть их. Я, конечно, вернусь к нему.
|
|
|
|
MiXaS |
Дата: Пн, 27.04.2015, 22:47 | Сообщение # 4 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
549
Замечания:
±
На сайте с 02.10.2010
Статус:
Offline
|
Тогда вопрос, на чем собираетесь писать софт для мк? Здесь же на форуме есть тема, где DNM, поднимает вопрос и решает его. Я бы Вам помог, но пока не знаю чем. Вам что–то готовое нужно? Добавлено (27.04.2015, 22:47) --------------------------------------------- Я пробовал связываться по этому протоколу, но это было так давно, что я не поняю какие там были события, помню, что плагин выдает 2 проекта после компиляции один в протоне, другой в вб6.
|
|
|
|
Boris |
Дата: Пн, 27.04.2015, 23:08 | Сообщение # 5 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
7
Замечания:
±
На сайте с 27.04.2015
Статус:
Offline
|
МК == микроконтроллер? Если так, то я вообще в ту сторону не смотрю. Все гораздо проще. Есть тлф трубка и надо с нее получить факт нажатия клавиши или комбинации клавиш. Трубка просто под руками оказалась, а так, считай - любая USB консолька с кнопками. Это не принципиально. В конечном итоге там будет совсем другая погремушка. А трубка даже хорошо - не пересекается ни с кем.
Я искренне предполагал, что достаточно прицепить к проекту некую длл, которая даст набор методов, свойств и событий. Но я ничего подобного под VB6 не вижуMicrodoft все свои древние наработки засекретил. Есть множество решений под шарп, под си++, паскаль, ассемблер. Кросс- и моноплатформенные, самостоятельные разработки и подвыдранные. Голова уже кругом идет... А простого под VB6 - нету.
Щаз вернулся к упомянутой статье и ее материалам. Буду более внимательно смотреть. Явно - событий там нет - есть лишь колбэки из ф-ций длл. Я тупо подставлял свои VID-PID, что-то там шевелилось... мне пока сходу не совсем ясно, как это все работает. Вот как бы упростить это хозяйство под мои скромные нужды?
|
|
|
|
MiXaS |
Дата: Пн, 27.04.2015, 23:17 | Сообщение # 6 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
549
Замечания:
±
На сайте с 02.10.2010
Статус:
Offline
|
Ясно! Эта статья немного не о том, что Вам нужно. Вообще вб6 устарел, пора на шарп садиться, хотя мне тоже лень переучиваться, так как шарп вообще с приколами. Я постараюсь найти свой проект, там точно помню была дллка, типа hid.dll, но вот не помню были события или нет. Постараюсь завтра
|
|
|
|
Boris |
Дата: Пн, 27.04.2015, 23:18 | Сообщение # 7 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
7
Замечания:
±
На сайте с 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 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
549
Замечания:
±
На сайте с 02.10.2010
Статус:
Offline
|
По–поводу vendor id и product id я вообще не помню, надо покурить в сети, если не ошибаюсь эти айди указывают на тип устройства, знать бы какой тип у вашего телефона...
|
|
|
|
Boris |
Дата: Пн, 27.04.2015, 23:26 | Сообщение # 9 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
7
Замечания:
±
На сайте с 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 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
549
Замечания:
±
На сайте с 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
Замечания:
±
На сайте с 27.04.2015
Статус:
Offline
|
MiXaS, утро вечера мудренее. Спасибо и за это участие. Завтра может еще народ подтянется.Ведь кто-то должен был руками трогать эту байду.
|
|
|
|
MiXaS |
Дата: Вт, 28.04.2015, 14:38 | Сообщение # 12 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
549
Замечания:
±
На сайте с 02.10.2010
Статус:
Offline
|
читайте личку
|
|
|
|
Boris |
Дата: Ср, 29.04.2015, 14:42 | Сообщение # 13 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
7
Замечания:
±
На сайте с 27.04.2015
Статус:
Offline
|
Итак. Все заработало. Благодаря MiXaS более внимательно вчитался в код, который уже несколько раз видел. Но, надо отдать должное, вариант, который он прислал не был перегружен непонятностями и позволил быстро вычленить необходимое мне.
Евентов там никаких не оказалось, а, как я писал выше - уже знакомые колбэки. Но в Мишином примере их реализация оказалась понимабельной для меня :) MiXaS - спасибо огромное.
Суть (кратко) - евенты надо организовывать самому через эти самые колбэки. А это реализовано во всех виденных мной библиотеках. В данном случае речь идет о mcHID.dll v.1.0.0.39. Выбор нужной - дело слесаря. Боица :)
Чуть позже выложу если не класс для работы с ней, но, по крайней мере, рабочий проектик. Там всего-то пара строк.
--------------------------------- Тем не менее встал ребром вопрос:
Как получить комбинацию клавиш?
Я сейчас вижу нажатия (в первом регистре) и отжатия (в шестом) клавиши. В остальных регистрах - неупорядоченный (на глаз) шум. Модифицируемая (нажимаемая во время удержания модификатора) клавиша не детектируется - только клавиша-модификатор.
|
|
|
|
MiXaS |
Дата: Ср, 29.04.2015, 17:21 | Сообщение # 14 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
549
Замечания:
±
На сайте с 02.10.2010
Статус:
Offline
|
Вот и славно! Успехов!
|
|
|
|