¿Cómo puedo hacer que un programa C se ejecute en segundo plano y reciba entradas del teclado?
Esto es un poco complicado.
Primero, necesita escribir una DLL que verifique la función de filtro del teclado WH_KEYBOARD, la conecte al encabezado de la cadena de funciones con SetWindowsHookEx() y pase la información a la siguiente función con CallNextHookEx(). .
Función de enlace de teclado:
int FAR PASCAL KeyboardProc(int nCode, WORD wParam, DWORD lParam) {}
KeyboardProc: el nombre de la función de enlace, debe estar especificado mediante el comando EXPORTS en el archivo de definición del módulo;
nCode determina si la función de enlace procesa el mensaje actual wParam y lParam son los contenidos específicos del mensaje;
En segundo lugar, debe escribir un programa que llame al gancho DLL.
En tercer lugar, debe dejar que el programa se ejecute en segundo plano.