Detectar código Ascii de una tecla
Página 1 de 1.
Detectar código Ascii de una tecla
El siguiente código fuente utiliza la función Api GetAsyncKeyState. Sirve para obtener el código de una tecla presionada, es decir nos devuelva la tecla, en cualquier ventana de windows
El funcionamiento del ejemplo es muy simple, se realiza un bucle de 0 a 255, es decir para obtener solo los caracteres Ascii. En cada pasada del bucle, se le envía una variable a la función Api GetAsyncKeyState, si el valor de retorno es distinto a -32767, nos devuelve el valor de la tecla virtual presionada , es decir el código de tecla
Por último mostramos un Msgbox convirtiendo ese número con la función Chr del visual basic para obtener el caracter
Controles
Colocar un Timer con la propiedad interval en 100 o inferior
Código fuente en un formulario
El funcionamiento del ejemplo es muy simple, se realiza un bucle de 0 a 255, es decir para obtener solo los caracteres Ascii. En cada pasada del bucle, se le envía una variable a la función Api GetAsyncKeyState, si el valor de retorno es distinto a -32767, nos devuelve el valor de la tecla virtual presionada , es decir el código de tecla
Por último mostramos un Msgbox convirtiendo ese número con la función Chr del visual basic para obtener el caracter
Controles
Colocar un Timer con la propiedad interval en 100 o inferior
Código fuente en un formulario
- Código:
Option Explicit
'Declaramos el Api GetAsyncKeyState
Private Declare Function GetAsyncKeyState _
Lib "user32" ( _
ByVal vKey As Long) As Integer
Private Sub Timer1_Timer()
Dim i As Integer
For i = 0 To 255
'Consultamos el valor de la tecla mediante el Api. _
Si se presionó devuelve -32767 y mostramos el valor de i
If GetAsyncKeyState(i) = -32767 Then
MsgBox "Código de la tecla virtual :" & i & vbCrLf _
& " La Tecla presionada es : " & Chr(i), vbInformation
End If
Next
End Sub
Private Sub Form_Load()
' intervalo para el timer
Timer1.Interval = 50
End Sub
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.
|
|