Крючки клавиатуры всегда заметно замедляют работу клавиатуры?

Я играл с глобальным хуком клавиатуры с использованием C++, и когда хук работает, ввод с клавиатуры крайне медленный. Я даже ничего не делаю с крючком, так как я только играю с ним, чтобы узнать о крючках. Мне интересно, что-то не так с моим кодом или это нормально для глобальных перехватов клавиатуры?

Вот мой код:

Файл DLL

#include<Windows.h>
#include<stdio.h>
#include "keyDLL.h"

using namespace std;

LRESULT CALLBACK HookProcedure(int code, WPARAM wParam, LPARAM lParam)
    {

        return CallNextHookEx(0, code, wParam, lParam);
    }

Заголовочный файл DLL

#include "windows.h"

extern "C" __declspec(dllexport) LRESULT CALLBACK HookProcedure(int code, WPARAM wParam, LPARAM lParam);

EXE-файл

#include <iostream>
#include <cstdlib>
#include "windows.h"

using namespace std;

static HHOOK hhandle;
static HMODULE dllHandle;
HOOKPROC hookProcAddress;

int main()
{
        dllHandle = LoadLibrary(TEXT("C:\\logger\\keyDLL\\Debug\\keyDLL.dll"));
        hookProcAddress = (HOOKPROC)GetProcAddress(dllHandle, "_HookProcedure@12");
        hhandle = SetWindowsHookEx(WH_KEYBOARD_LL, hookProcAddress, dllHandle, 0);
        Sleep(INFINITE);
}

Как вы можете видеть, все, что я делаю с ловушкой, это CallNextHookEx, так что ничего вообще. В результате я могу набрать целое предложение, и только первые два слова появятся на экране, когда я закончу, а остальным понадобится несколько секунд, чтобы наверстать упущенное.

0 ответов

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