Simulación a nivel de controlador VB de operaciones de mouse y teclado 15 puntos Simulación a nivel de controlador VB de operaciones de mouse y teclado Espero obtener...
Sub MyKeyUp(ByVal vKeyCoad As Long)
'Esto se usa para simular la liberación de una clave, el parámetro vKeyCoad se pasa como el código virtual de la clave
p>
Atenuar btScancode siempre
btScancode = MapVirtualKey(vKeyCoad, 0)
KBCWait4IBE 'Espera a que el buffer del teclado esté vacío
SetPortVal KBC_KEY_CMD , & HD2 , 1 'Enviar comando de escritura del teclado
KBCWait4IBE
SetPortVal KBC_KEY_DATA, (btScancode o &H80), 1 'Escribir información clave y soltar la tecla
End Sub
Después de definir el proceso anterior, se puede utilizar para simular la entrada del teclado. Agregue un control de temporizador en el módulo de formulario y luego agregue el siguiente código:
Private Sub Form_Load()
If InitializeWinIo = False Then
'Use InitializeWinIo La función carga el controlador y devuelve verdadero si tiene éxito; en caso contrario, falso
MsgBox "¡Falló la carga del controlador!"H41
MyKeyDown VK_A
MyKeyUp VK_A 'Simular presionar Presionar hacia abajo y suelte la tecla A
End Sub
La ejecución del programa anterior simulará presionar la tecla A cada 3 segundos. Pruébelo y vea cómo funciona. ?
Nota:
Para usar WINIO en modo de depuración de VB, necesita copiar estos 3 archivos al directorio de instalación de VB.
Algunas teclas del teclado son teclas extendidas (por ejemplo, las teclas de flecha del teclado son teclas extendidas, no debe utilizar los programas MyKeyDown y MyKeyUp anteriores para simularlas). utilice el siguiente programa 2 A para simular con precisión la clave extendida:
Sub MyKeyDownEx(ByVal vKeyCoad As Long) 'Simula presionar la tecla extendida, el parámetro vKeyCoad es el código virtual de la clave extendida
Atenuar btScancode siempre
btScancode = MapVirtualKey(vKeyCoad, 0)
KBCWait4IBE 'Esperando a que el búfer del teclado esté vacío
SetPortVal KBC_KEY_CMD, & HD2, 1 'Enviar comando de escritura del teclado
KBCWait4IBE
SetPortVal KBC_KEY_DATA, & HE0, 1 'Escribir información de indicador de clave extendida
KBCWait4IBE 'Esperar a que el buffer del teclado esté vacío
SetPortVal KBC_KEY_CMD, & HD2, 1 'Enviar comando de escritura del teclado
KBCWait4IBE
SetPortVal KBC_KEY_DATA, btScancode, 1 'Escribir información clave y claves
p>
End Sub
Sub MyKeyUpEx(ByVal vKeyCoad As Long) 'Simular ventana emergente de clave extendida
Dim btScancode As Long
btScancode = MapVirtualKey( vKeyCoad , 0)
KBCWait4IBE 'Espera a que el búfer del teclado esté vacío
SetPortVal KBC_KEY_CMD, & 'Enviar comando de escritura del teclado
KBCWait4IBE
SetPortVal KBC_KEY_DATA, (btScancode Or &H80), 1 'Escribe información clave y suelta la tecla
End Sub
También se debe tener en cuenta que si quiero extender el cambio de clave a teclas normales, el evento KeyDown de las claves normales debe enviarse dos veces. Es decir, si quiero simular presionar una tecla extendida y luego presionar una tecla normal, debo enviar al puerto la información de que se presionó dos veces la tecla normal. Por ejemplo, si quiero simular el evento de presionar la tecla de flecha izquierda y luego presionar la barra espaciadora, dado que la tecla de flecha izquierda es una tecla extendida y la barra espaciadora es una tecla normal, el proceso debería verse así: p>
MyKeyDownEx VK_LEFT 'Presiona la tecla de flecha izquierda
Sleep 200 'Retraso 200 milisegundos
MyKeyUpEx VK _LEFT 'Suelta la tecla de flecha izquierda
Sleep 500
MyKeyDown VK_SPACE 'Presiona la barra espaciadora, ten en cuenta que se envía dos veces
MyKeyDown VK_SPACE
Sleep 200
MyKeyUp VK_SPACE ' Suelta la barra espaciadora
Está bien, creo que a estas alturas tu programa de botones simulados está casi completo. Pruébalo para ver si es muy efectivo, jeje~~~~
WINIO. Dirección de descarga del componente: /download/winio.zip.