У меня есть ActiveX DLL, которая в настоящее время читается из последовательного порта. Теперь я хочу, чтобы он принимал ввод с USB-устройства.VB6 - чтение с клавиатуры в ActiveX DLL
Устройство USB функционирует как стандартное устройство для интерфейса человека. То есть, если я открою Блокнот, тогда вывод устройства появится в Блокноте, как если бы он был набран на клавиатуре.
Как правило, я бы захватил события Key Up/Down, но я думаю, что мне нужна форма для этого, и моя DLL не имеет формы.
Как я могу захватить этот вход?
[Update] Я нашел http://us.generation-nt.com/answer/anyone-know-how-read-keyboard-input-within-an-activex-dll-help-7934442.html#, который утверждает, что делать, но код не будет работать, как есть использует AddressOf
оператор, который может быть использован только в файле .BAS, так что не в DLL .CLS
Я даже не уверен, ищу ли я системный крючок или приложение.
Хммм, http://www.xtremevbtalk.com/showthread.php?t=77216 говорит: «Вы не можете реализовать глобальный крюк WH_KEYBOARD в VB - для него требуется стандартная (не ActiveX-библиотека DLL), поскольку она должна быть загружена в адресное пространство всех запущенных приложений».
[Верхняя дата] Таким образом, может быть, я могу форма, сделать его 1x1 пиксель и невидимым и имеют функцию GetTheData
, которая показывает форму модально и собирает и возвращает данные - либо получать ввод с клавиатуры на уровне формы или в (n невидимое) управление, затем закрывает форму, возвращающую вход.
Будет ли это работать? Если кто-нибудь отправит рабочий пример, я награду за награду (я бы предпочел, чтобы форма не была видна на панели задач и не имела кнопки закрытия, пользователь не должен был знать об этом или мог закрыть ее, он должен был закрыть себя когда он получает достаточный ввод с подключенного USB-устройства HDI).
Вы можете иметь .BAS модули в ActiveX DLL тоже не только .cls модули класса , У вас также могут быть модули .frm. – wqw
@wqw, я новичок в VB, можете ли вы отправить ответ с дополнительной помощью (и посмотреть мой обновленный вопрос)? Спасибо – Mawg
Я постоянно поражаюсь количеству людей, которые говорят, что они новы для VB6.Я имею в виду, что он не был продан Microsoft с 2001 года! Mawg - где вы получили свою копию? Я бы не прочь купить его в старые времена! –