События клавиатуры в AddIn

Автор Тема: События клавиатуры в AddIn  (Прочитано 3684 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн filatАвтор темы

  • ADN Club
  • ****
  • Сообщений: 262
  • Карма: 2
События клавиатуры в AddIn
« : 08-06-2021, 18:16:05 »
У меня есть стандартный модуль keyboardhook для отлавливания нажатия кнопок клавиатуры, который я использовал в других приложениях. Но подключить его в AddIn оказалось проблемным - полезли не понятные ошибки в коде.
В принципе, есть рабочий способ, чтобы поймать нажатие кнопки клавиатуры в AddIn?

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 751
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: События клавиатуры в AddIn
« Ответ #1 : 08-06-2021, 18:25:28 »
Пространный вопрос, Влад.
В общем случае конечно WinAPI32 юзать нужно.
Но ты объясни что ты там делаешь, может инвенторовского АПИ хватит.

Оффлайн filatАвтор темы

  • ADN Club
  • ****
  • Сообщений: 262
  • Карма: 2
Re: События клавиатуры в AddIn
« Ответ #2 : 08-06-2021, 18:44:50 »
keyboardhook - это и есть WinApi.
В чертеже, для выносной позиции можно добавить еще одну позицию, вызвав соответствующую команду. Я хочу сделать так, чтоб при нажатой кнопке (например Ctrl) автоматически повторялся вызов этой компнды, для данной выносной позиции.

Отмечено как Решение filat 08-06-2021, 21:03:50

Онлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: События клавиатуры в AddIn
« Ответ #3 : 08-06-2021, 19:07:48 »
Я хочу сделать так, чтоб при нажатой кнопке (например Ctrl) автоматически повторялся вызов этой компнды, для данной выносной позиции.
Так тебе просто нужно прочитать текущее состояние Ctrl (нажато/не нажато) ? Тогда тебе подойдет функция GetAsyncKeyState.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Онлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: События клавиатуры в AddIn
« Ответ #4 : 08-06-2021, 19:19:29 »
Ну а если тебя интересует таки событие (низкоуровневое) нажатия клавиш, то SetWindowsHookEx/CallNextHookEx/UnhookWindowsHookEx тебе в помощь.
На VB.NET есть пример здесь: https://github.com/Visual-Vincent/InputHelper
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн filatАвтор темы

  • ADN Club
  • ****
  • Сообщений: 262
  • Карма: 2
Re: События клавиатуры в AddIn
« Ответ #5 : 08-06-2021, 19:24:27 »
Сейчас функцию буду пробовать - должно подойти! :)

Оффлайн filatАвтор темы

  • ADN Club
  • ****
  • Сообщений: 262
  • Карма: 2
Re: События клавиатуры в AddIn
« Ответ #6 : 08-06-2021, 21:05:00 »
Спасибо! Всё получилось!  8)