Soy un novato en C y me gustaría hacerte una pregunta. ¿Puedes escribir un "programa clave" en C, es decir, dejar que el teclado siga presionando una determinada tecla?
VOID keybd_event(BYTEbVk, BYTEbScan, DWORDdwFlags, DWORDdwExtraInfo);
Windows proporciona una función API Keybd_event() que simula el teclado. Utilice esta función para bloquear las acciones del teclado en consecuencia. La función Keybd_event() desencadena un evento clave, que genera un mensaje WM_KEYDOWN o WM_KEYUP.
El prototipo de esta función es el siguiente:
VOID keybd_event(
BYTE bVk, // código de clave virtual
BYTE bScan , // Código de escaneo de hardware
DWORD dwFlags, // Especificar indicadores para varias opciones de funciones
WM_KEYDOWN, WM_KEYUP Especificar indicadores para varias opciones de funciones
DWORD dwExtraInfo. // Datos adicionales relacionados con la clave
);
Como puedes ver en el prototipo, Keybd_ event()*** tiene cuatro parámetros:
Uno es el valor de la clave virtual de la clave, como la tecla Intro de vk_return y la tecla de tabulación de vk_tab (para obtener otra información específica, consulte el Apéndice: Tabla de comparación de valores de claves de simulación común);
El segundo El parámetro es el código de escaneo, generalmente no configurado, solo use 0 en su lugar;
El tercer parámetro es el indicador de opción, si está pulsado, se establece en 0, si está pulsado, se establece a "KEYEVENTF_KEYUP";
p>
El cuarto parámetro generalmente también se establece en 0. Evento (18, 0, 0, 0);
keybd_event (115, 0, 0, 0);
keybd_event (115, 0, KEYEVENTF_KEYUP, 0); >
keybd_event(18,0,KEYEVENTF_KEYUP,0);
Escriba "KEYEVENTF_KEYUP".