VB.Net 2017 Studio, нужен ли мне хук для клавиатуры? У кого-нибудь есть отличное решение?

Я пытаюсь сделать прогу, которая должна слушать глобально клавиатуру и работать с импутом. Возможно ли при нажатии клавиши "d" заблокировать текущий ввод (не выводить "d") и сделать следующее: SendKeys.Send ("δ")

δ = греческий д (дельта)

Мое решение на данный момент заключается в следующем:

    If GetAsyncKeyState(Keys.D) And GetAsyncKeyState(Keys.ShiftKey) = False And delay = False Then
        delay = True
        SendKeys.Send("{BACKSPACE}")
        SendKeys.Send("{δ}")
        GoTo endFunction
    End If

Я пытаюсь работать с несколькими таймерами, чтобы задержать функцию SendKeys и задержать функцию GetAsyncKeyState. Это работает, но не идеально. Если я удерживаю кнопку "d", я получаю такой текст: δdδδddδdδddδδdδdδδd Я просто хочу держать нажатой "d" и хочу получить чистый вывод: δδδδδδδδδδδ

Кто мог бы посоветовать мне сделать это лучше? Я не программист, но я знаю основы, такие как функции, циклы и так далее...

Рабочий пример был бы идеальным.

заранее спасибо

0 ответов

Другие вопросы по тегам