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?.
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"
@mackcl64 donde usas el sendkey - Ricky SaenZ