когда клавиша клавиатуры (любая) нажата глобально, должна быть вызвана функция. я использую user32.dll хуки - PullRequest
0 голосов
/ 30 января 2020
private IntPtr KeyboardHookDelegate(Int32 Code, IntPtr wParam, IntPtr lParam)
{
    if (Code < 0)
    {
        return Process.WindowsHooksHelper.CallNextHookEx(
            keyBoardHandle, Code, wParam, lParam);
    }

    if (KeyBoardKeyPressed != null)
    {
        KeyBoardKeyPressed(this, new EventArgs());

    }

    return Process.WindowsHooksHelper.CallNextHookEx(
        keyBoardHandle, Code, wParam, lParam);
}

Когда клавиша нажата глобально , должна вызываться функция KeyPressed () . Я использую хуки user32.dll. Он работает, но работает только от 3 до 4 раз, но не работает через несколько раз.

1 Ответ

0 голосов
/ 30 января 2020

Я не знаю ваш класс Process.WindowsHooksHelper,

, но я думаю, что есть ошибка в очистке чего-либо.

Самое чистое из известных мне на данный момент решение для прослушивания клавиш это глобально это:

https://gist.github.com/Ciantic/471698

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...