Red de conocimiento informático - Problemas con los teléfonos móviles - 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...

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

Simulación a nivel de controlador WinIOI

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í:

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.