Compartir a través de


My.Computer.Keyboard.SendKeys (Método)

Actualización: noviembre 2007

Envía una o más pulsaciones de tecla a la ventana activa, como si se realizaran en el teclado.

' Usage
My.Computer.Keyboard.SendKeys(keys)
My.Computer.Keyboard.SendKeys(keys ,wait)
' Declaration
Public Sub SendKeys( _
   ByVal keys As String _
)
' -or-
Public Sub SendKeys( _
   ByVal keys As String, _
   ByVal wait As Boolean _
)

Parámetros

  • keys
    String que define las teclas que enviar.

  • wait
    Opcional. Boolean que especifica si se debe o no esperar a que se procesen las pulsaciones de tecla antes de que continúe la aplicación. El valor predeterminado es True.

Excepciones

La siguiente condición puede provocar una excepción:

  • Hay una situación de confianza parcial en la que el usuario no dispone de los permisos necesarios (SecurityException).

Comentarios

El método My.Computer.Keyboard.SendKeys proporciona la funcionalidad similar a la de los métodos Send y SendWait.

El argumento wait es útil si la otra aplicación debe finalizar para que pueda continuar su aplicación.

Nota:

Puesto que no hay ningún método administrado para activar otra aplicación, puede usar esta clase dentro de la aplicación actual, seleccionar manualmente la ventana a la que enviar las teclas, o usar métodos de la interfaz API de Windows, como FindWindow y SetForegroundWindow, para forzar el paso del foco a otras aplicaciones. Para obtener más información, vea Tutorial: Llamar a las API de Windows.

El argumento keys puede especificar cualquier tecla única o cualquier combinación de teclas con ALT, CTRL o MAYÚS (o cualquier combinación de esas teclas). Cada tecla se representa mediante uno o más caracteres, como a para el carácter "a" o {ENTER} para la tecla ENTRAR.

Para combinar una tecla con MAYÚS, coloque + (signo más) antes del código de la tecla. Para combinar una tecla con CTRL, coloque ^ (símbolo de intercalación) antes del código de la tecla. Para combinar una tecla con ALT, coloque % (signo de porcentaje) antes del código de la tecla. Para especificar las teclas repetidas, utilice el formato {key number}. Debe colocar un espacio entre key y number. Por ejemplo, {LEFT 42} significa "presione la tecla FLECHA IZQUIERDA 42 veces"; {h 10} significa "presione 'h' 10 veces".

La tabla siguiente enumera los códigos que se pueden utilizar para especificar los caracteres que no aparecen al presionar la tecla correspondiente (como por ejemplo ENTRAR o TAB).

Tecla

Código

RETROCESO

{BACKSPACE} o {BS}

INTER

{BREAK}

BLOQ MAYÚS

{CAPSLOCK}

SUPR

{CLEAR}

SUPRIMIR

{DELETE} o {DEL}

FLECHA ABAJO

{DOWN}

FIN

{END}

ENTRAR (teclado numérico)

{ENTER}

ENTRAR

~

ESC

{ESCAPE} o {ESC}

AYUDA

{HELP}

INICIO

{HOME}

INSERTAR

{INSERT}

FLECHA IZQUIERDA

{LEFT}

BLOQ NUM

{NUMLOCK}

AV PÁG

{PGDN}

RE PÁG

{PGUP}

RETORNO

{RETURN}

FLECHA DERECHA

{RIGHT}

BLOQ DESPL

{SCROLLLOCK}

TAB

{TAB}

FLECHA ARRIBA

{UP}

F1 a F15

{F1} a {F15}

Ejemplo

Este ejemplo utiliza el método My.Computer.Keyboard.SendKeys para enviar las pulsaciones de tecla a una aplicación externa, la aplicación Calculadora, iniciada por la función Shell.

Dim ProcID As Integer
' Start the Calculator application, and store the process id.
ProcID = Shell("CALC.EXE", AppWinStyle.NormalFocus)
' Activate the Calculator application.
AppActivate(ProcID)
' Send the keystrokes to the Calculator application.
My.Computer.Keyboard.SendKeys("22", True)
My.Computer.Keyboard.SendKeys("*", True)
My.Computer.Keyboard.SendKeys("44", True)
My.Computer.Keyboard.SendKeys("=", True)
' The result is 22 * 44 = 968.

Se produce una excepción ArgumentException si no se puede encontrar una aplicación con el identificador de proceso solicitado.

La llamada a la función Shell requiere plena confianza (clase SecurityException).

Requisitos

Espacio de nombres:Microsoft.VisualBasic.Devices

Clase:Keyboard

Ensamblado: biblioteca en tiempo de ejecución de Visual Basic (en Microsoft.VisualBasic.dll)

Disponibilidad por tipo de proyecto

Tipo de proyecto

Disponible

Aplicación para Windows

Biblioteca de clases

Aplicación de consola

Biblioteca de controles de Windows

Biblioteca de controles Web

No

Servicio de Windows

Sitio Web

No

Permisos

Los permisos siguientes pueden ser necesarios:

Permiso

Descripción

FileIOPermission

Controla la capacidad de tener acceso a archivos y carpetas. Enumeración asociada: Unrestricted.

UIPermission

Controla los permisos relacionados con interfaces de usuario y el Portapapeles. Enumeración asociada: AllWindows.

Para obtener más información, vea Seguridad de acceso a código y Solicitar permisos.

Vea también

Tareas

Tutorial: Llamar a las API de Windows

Referencia

My.Computer.Keyboard (Objeto)

Send

SendWait

Keyboard.SendKeys