Comparteix a través de


Keyboard.SendKeys Método

Definición

Envía una o varias presiones de tecla a la ventana activa como si se escribieran en el teclado.

Sobrecargas

SendKeys(String)

Envía una o varias presiones de tecla a la ventana activa como si se escribieran en el teclado.

SendKeys(String, Boolean)

Envía una o varias presiones de tecla a la ventana activa como si se escribieran en el teclado.

SendKeys(String)

Envía una o varias presiones de tecla a la ventana activa como si se escribieran en el teclado.

public:
 void SendKeys(System::String ^ keys);
public void SendKeys (string keys);
member this.SendKeys : string -> unit
Public Sub SendKeys (keys As String)

Parámetros

keys
String

Objeto String que contiene las teclas que se van a enviar.

Excepciones

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

Ejemplos

En este ejemplo se usa el My.Computer.Keyboard.SendKeys método para enviar pulsaciones de teclas a una aplicación externa, la aplicación del Bloc de notas, iniciada por el Shell método .

Dim ProcID As Integer
' Start the Notepad application, and store the process id.
ProcID = Shell("NOTEPAD.EXE", AppWinStyle.NormalFocus)
' Activate the Notepad application.
AppActivate(ProcID)
' Send the keystrokes to the Notepad application.
My.Computer.Keyboard.SendKeys("I ", True)
My.Computer.Keyboard.SendKeys("♥", True)
My.Computer.Keyboard.SendKeys(" Visual Basic!", True)
' The sentence I ♥ Visual Basic! is printed on Notepad.

Si no se encuentra una aplicación con el identificador de proceso solicitado, se generará una excepción ArgumentException.

La llamada al Shell método requiere plena confianza (SecurityException clase ).

Comentarios

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

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

Nota

Dado 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 para enviar las claves o usar métodos de la API de Windows, como FindWindow y SetForegroundWindow, para forzar el foco en otras aplicaciones. Para más información, consulte Tutorial: Llamar a las API de Windows.

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

Para combinar una tecla con MAYÚS, precede al código de clave con + (signo más). Para combinar una tecla con CTRL, precede al código de tecla con ^ (símbolo de intercalación). Para combinar una clave con ALT, precede al código de clave con % (signo de porcentaje). Para especificar claves de repetición, use el número} de clave del formulario{. Debe colocar un espacio entre la clave y el número. Por ejemplo, {LEFT 42} significa "presionar la tecla FLECHA IZQUIERDA 42 veces"; {h 10} significa "presionar "h" 10 veces".

En la tabla siguiente se enumeran los códigos que se pueden usar para especificar caracteres que no se muestran al presionar la tecla correspondiente (como ENTRAR o TAB).

Clave Código
RETROCESO {BACKSPACE} o {BS}
BREAK {BREAK}
Bloq Mayús {CAPSLOCK}
CLEAR {CLEAR}
Delete {DELETE} o {DEL}
FLECHA ABAJO {DOWN}
FIN {END}
ENTRAR (teclado numérico) {ENTER}
ENTRAR ~
ESC {ESCAPE} o {ESC}
HELP {HELP}
INICIO {HOME}
INS {INSERT}
FLECHA IZQUIERDA {LEFT}
BLOQUEO NUM {NUMLOCK}
AV PÁG {PGDN}
RE PÁG {PGUP}
RETURN {RETURN}
FLECHA DERECHA {RIGHT}
BLOQUEO DE DESPLAZAMIENTO {SCROLLLOCK}
TAB {TAB}
FLECHA ARRIBA {UP}
F1 a F15 {F1} a {F15}

Disponibilidad por tipo de proyecto

Tipo de proyecto Disponible
Aplicación Windows
Biblioteca de clases
Aplicación de consola
Biblioteca de controles de Windows
Biblioteca de controles web No
Servicio de Windows
Sitio web No

Consulte también

Se aplica a

SendKeys(String, Boolean)

Envía una o varias presiones de tecla a la ventana activa como si se escribieran en el teclado.

public:
 void SendKeys(System::String ^ keys, bool wait);
public void SendKeys (string keys, bool wait);
member this.SendKeys : string * bool -> unit
Public Sub SendKeys (keys As String, wait As Boolean)

Parámetros

keys
String

Objeto String que contiene las teclas que se van a enviar.

wait
Boolean

Opcional. Valor de tipo Boolean que especifica si la aplicación debe esperar, o no, a que se procesen las presiones de tecla antes de continuar. True es el valor predeterminado.

Excepciones

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

Ejemplos

En este ejemplo se usa el My.Computer.Keyboard.SendKeys método para enviar pulsaciones de teclas a una aplicación externa, la aplicación del Bloc de notas, iniciada por el Shell método .

Dim ProcID As Integer
' Start the Notepad application, and store the process id.
ProcID = Shell("NOTEPAD.EXE", AppWinStyle.NormalFocus)
' Activate the Notepad application.
AppActivate(ProcID)
' Send the keystrokes to the Notepad application.
My.Computer.Keyboard.SendKeys("I ", True)
My.Computer.Keyboard.SendKeys("♥", True)
My.Computer.Keyboard.SendKeys(" Visual Basic!", True)
' The sentence I ♥ Visual Basic! is printed on Notepad.

Si no se encuentra una aplicación con el identificador de proceso solicitado, se generará una excepción ArgumentException.

La llamada al Shell método requiere plena confianza (SecurityException clase ).

Comentarios

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

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

Nota

Dado 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 para enviar las claves o usar métodos de la API de Windows, como FindWindow y SetForegroundWindow, para forzar el foco en otras aplicaciones. Para más información, consulte Tutorial: Llamar a las API de Windows.

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

Para combinar una tecla con MAYÚS, precede al código de clave con + (signo más). Para combinar una tecla con CTRL, precede al código de tecla con ^ (símbolo de intercalación). Para combinar una clave con ALT, precede al código de clave con % (signo de porcentaje). Para especificar claves de repetición, use el número} de clave del formulario{. Debe colocar un espacio entre la clave y el número. Por ejemplo, {LEFT 42} significa "presionar la tecla FLECHA IZQUIERDA 42 veces"; {h 10} significa "presionar "h" 10 veces".

En la tabla siguiente se enumeran los códigos que se pueden usar para especificar caracteres que no se muestran al presionar la tecla correspondiente (como ENTRAR o TAB).

Clave Código
RETROCESO {BACKSPACE} o {BS}
BREAK {BREAK}
Bloq Mayús {CAPSLOCK}
CLEAR {CLEAR}
Delete {DELETE} o {DEL}
FLECHA ABAJO {DOWN}
FIN {END}
ENTRAR (teclado numérico) {ENTER}
ENTRAR ~
ESC {ESCAPE} o {ESC}
HELP {HELP}
INICIO {HOME}
INS {INSERT}
FLECHA IZQUIERDA {LEFT}
BLOQUEO NUM {NUMLOCK}
AV PÁG {PGDN}
RE PÁG {PGUP}
RETURN {RETURN}
FLECHA DERECHA {RIGHT}
BLOQUEO DE DESPLAZAMIENTO {SCROLLLOCK}
TAB {TAB}
FLECHA ARRIBA {UP}
F1 a F15 {F1} a {F15}

Disponibilidad por tipo de proyecto

Tipo de proyecto Disponible
Aplicación Windows
Biblioteca de clases
Aplicación de consola
Biblioteca de controles de Windows
Biblioteca de controles web No
Servicio de Windows
Sitio web No

Consulte también

Se aplica a