Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo puedo hacer que un programa C se ejecute en segundo plano y reciba entradas del teclado?

¿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.