Registrieren eines globalen Hotkeys ohne Deaktivierung seines Schlüssels

Ich möchte ein Programm erstellen, das Tastaturereignisse aufzeichnet, auch wenn es zu keinem Zeitpunkt aktiv ist. Hooks waren zu kompliziert mit all den Dingen, die ich tun muss, um es zum Laufen zu bringen (DLL erstellen, lesen usw.), so dass ich mich entschied, weiterhin Hotkeys zu verwenden.

Aber jetzt habe ich ein Problem. Durch das Registrieren des Hotkeys wird die Taste auf der Tastatur deaktiviert, sodass ich nur die Taste an das Programm senden kann, während ich kein anderes Programm (z. B. Editor) eingeben kann.

Das ist mein Code:

#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

Gibt es eine einfache Lösung für dieses Problem? Vielen Dank

Antworten auf die Frage(1)

Ihre Antwort auf die Frage