¿Cómo utilizar la función keybd_event para simular presionar y abrir F1 en VB?
keybd_event(112, 0, 0, 0) 'Simula presionar la tecla "F1"
Sleep 200 'Retraso 200 milisegundos
keybd_event(112, 0) , KEYEVENTF_KEYUP, 0) 'Simular la aparición de la tecla F1
------------------------------- --- ----------------------------------------------- --- -------
Simular respuesta del teclado o ratón
Generalmente utilizamos:
UINT SendInput(
UINT nInputs , // recuento de eventos de entrada
?PINPUT pInputs, // conjunto de eventos de entrada
int cbSize // tamaño de la estructura
); /p >
Funciones API. El primer parámetro describe la dimensión de la matriz del segundo parámetro. El segundo parámetro contiene el evento de respuesta. Puede completarlo usted mismo. El último es el tamaño de la estructura. Esta es la forma más sencilla de simular un teclado y un mouse, jaja. Tenga en cuenta que esta función también tiene una función alternativa:
VOID keybd_event(
BYTE bVk, // código de clave virtual
BYTE bScan, // código de escaneo
DWORD dwFlags,
ULONG_PTR dwExtraInfo // Estado de clave adicional
y
VOID mouse_event(
DWORD dwFlags, // opciones de movimiento y clic
DWORD dx, // posición horizontal o cambio
DWORD dy, // posición vertical o cambio
p>p>
DWORD dwData, // movimiento de la rueda
ULONG_PTR dwExtraInfo // información definida por la aplicación
Estos dos Las funciones son muy simples, creo que esto es lo que usan esos asistentes de botones. El de arriba simula el teclado y el de abajo simula el mouse. Esta es solo la parte de simulación
Para conectarla con el juego, todavía necesitamos encontrar la ventana del juego o incluir teclas de acceso directo, al igual que la clave de activación del asistente de botones, nosotros
Puede usar la función GetWindow para enumerar ventanas, o puede usar la función Findwindow para buscar una ventana específica (tenga en cuenta que también hay un FindWindowEx
FindwindowEx puede encontrar las ventanas secundarias de la ventana). , como botones, etc.
Cuando el juego cambia de escena, podemos usar FindWindowEx para determinar algunas características de la ventana actual y determinar si todavía está en esta escena. Hay muchos métodos, como GetWindowInfo para determinar algunas cosas, como cuando la búsqueda no puede
Cuando llegas a un botón determinado, significa que la escena del juego ha cambiado, y así sucesivamente. Algunos juegos no tienen controles. Si se trata de una transformación de coordenadas de la imagen, este método será limitado. Esto requiere que utilicemos otros métodos para ayudar al análisis.
Adjunto: Tabla de comparación de valores clave de claves analógicas de uso común.
Tabla comparativa de teclas del teclado y códigos de teclas virtuales
Teclas alfabéticas y numéricas Teclas del teclado numérico Teclas de función Otras teclas
Tecla clave código clave clave código clave clave Código código clave
A 65 0 96 F1 112 Retroceso 8
B 66 1 97 F2 113 Tab 9
C 67 2 98 F3 114 Borrar 12
D 68 3 99 F4 115 Ingresar 13
E 69 4 100 F5 116 Mayús 16
F 70 5 101 F6 117 Control 17
G 71 6 102 F7 118 Alt 18
H 72 7 103 F8 119 Bloq Mayús 20
I 73 8 104 F9 120 Esc 27
J 74 9 105 F10 121 Barra espaciadora 32
K 75 * 106 F11 122 Re Pág 33
L 76 107 F12 123 Av Pág 34
M 77 Enter 108 -- - - Fin 35
N 78 - 109 -- -- Inicio 36
O 79 -- -- Flecha izquierda 37
P 80 / 111 - - - - Flecha arriba 38
Q 81 -- -- -- -- Flecha derecha 39
R 82 -- -- -- -- Flecha abajo 40
S 83 -- -- -- -- Insertar 45
T 84 -- -- -- -- Eliminar 46
U 85 -- -- -- - - Ayuda 47
V 86 -- -- -- -- Bloq Num 144
W 87
X 88
Y 89 p>
Z 90
0 48
1 49
2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57