Registro de una HotKey Global sin desactivar su clave

Quiero hacer un programa que pueda detectar eventos del teclado incluso si no está activo en ningún momento. Los ganchos eran demasiado complicados con todas las cosas que tengo que hacer para que funcione (hacer una DLL, leerla, etc.), así que decidí seguir usando las teclas de acceso rápido.

Pero ahora tengo un problema. El registro de la tecla de acceso rápido desactiva la tecla en el teclado, por lo que solo puedo enviarla al programa, mientras que no puedo escribir en ningún otro programa (por ejemplo, el Bloc de notas).

Este es mi código:

#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

¿Hay alguna solución simple para este problema? Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta