Evento teclado

Respuesta de
a
Usuario
Hola!
Me gustaría saber si conocéis algún evento que esté ligado al teclado pero que no tenga que estar relacionado a ningún objeto (formulario, textbox,...).
Mi intención es crear una clase y en ella, ¿haya una espera por teclado de cualquier tecla o del ESC. Sabéis como podría hacerlo?.
Muchas gracias de antemano.
Experto
En Visual Basic hay tres eventos y una función (por lo que yo conozco) Estas son:

Eventos:

Keypress
KeyUp
KeyDown

Keypress:
Se produce cuando el usuario presiona una tecla ANSI.

Cuando un usuario mantiene presionada una tecla que genera un código de tecla ANSI, los eventos KeyDown y KeyPress se repiten alternativamente. Cuando el usuario suelta la tecla, se produce el evento KeyUp. El formulario o control, que tiene el enfoque recibe todas las pulsaciones de teclas.

Ejemplo KeyPress:

Private Sub Text1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
MsgBox("Se ha Presionado la Tecla: " & Chr(KeyAscii)
End Sub

Eventos KeyUp, KeyDown

Se producen en secuencia cuando un usuario presiona y suelta una tecla. El evento KeyDown se produce cuando el usuario presiona una tecla. El evento KeyUp se produce cuando el usuario suelta una tecla

Ejemplo:

Private Sub Text1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
MsgBox("Se Ha Soltado la Tecla"
End Sub

Ahora tenemos la función SendKey: Esta simula (por decirlo así) la pulsación de una tecla.

Ejemplo:

SendKey "AZD"
'Simula la pulsación de las teclas A, Z y D
'También se puede con las otras teclas ej:
SendKey "568"

Para las teclas que no se muestran caracteres como Esc o Enter hay que utilizar los siguientes códigos:

RETROCESO {BACKSPACE}, {BS}o {BKSP}
INTER {BREAK}
BLOQ MAYÚS {CAPSLOCK}
SUPR {DELETE} o {DEL}
FLECHA ABAJO {DOWN}
FIN {END}
ENTRAR {ENTER}o ~
ESC {ESC}
AYUDA {HELP}
INICIO {HOME}
INSERT {INSERT} o {INS}
FLECHA IZQUIERDA {LEFT}
BLOQ NÚM {NUMLOCK}
RE PÁG {PGDN}
AV PÁG {PGUP}
IMPR PANT {PRTSC}
FLECHA DERECHA {RIGHT}
BLOQ DESPL {SCROLLLOCK}
TAB {TAB}
FLECHA ARRIBA {UP}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
F13 {F13}
F14 {F14}
F15 {F15}
F16 {F16}

Ejemplo:

Sendkey "{ESC}"
SendKey "{F1}"

Para especificar teclas con cualquier combinación de las teclas MAYUS, CTRL y ALT, introduzca delante del código de la tecla uno o más de los siguientes códigos:

MAYÚS +
CTRL (CONTROL) ^
ALT %

Ejemplo

SendKey "%{F4}"
SendKey "^N"

Espero que te ayude

Saludos
Usuario
Muchas gracias, me ha sido de gran ayuda.