Rejestracja globalnego klucza dostępu bez wyłączania jego klucza

Chcę stworzyć program, który będzie w stanie wychwytywać zdarzenia klawiatury, nawet jeśli nie jest aktywny w żadnym momencie. Haki były zbyt skomplikowane ze wszystkimi rzeczami, które muszę zrobić, aby je uruchomić (tworzenie biblioteki DLL, czytanie, itd.), Więc postanowiłem użyć skrótów klawiszowych.

Ale teraz mam problem. Zarejestrowanie skrótu powoduje wyłączenie klawisza na klawiaturze, dlatego mogę wysłać tylko klucz do programu, podczas gdy nie mogę wpisywać żadnego innego programu (np. Notatnika).

To jest mój kod:

#include <iostream>
#include <windows.h>
using namespace std;

int main(int argc, char* argv[]) {
    RegisterHotKey(NULL, 1, NULL, 0x41); //Register A
    MSG msg = {0};

    while (GetMessageA(&msg, NULL, 0, 0) != 0) {
        if (msg.message == WM_HOTKEY) {
            cout << "A"; //Print A if I pressed it
        }
    }

    UnregisterHotKey(NULL, 1);
    return 0;
}

// and now I can't type A's

Czy istnieje proste rozwiązanie tego problemu? Dziękuję Ci

questionAnswers(1)

yourAnswerToTheQuestion