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 |
Sí |
Biblioteca de clases |
Sí |
Aplicación de consola |
Sí |
Biblioteca de controles de Windows |
Sí |
Biblioteca de controles Web |
No |
Servicio de Windows |
Sí |
Sitio Web |
No |
Permisos
Los permisos siguientes pueden ser necesarios:
Permiso |
Descripción |
---|---|
Controla la capacidad de tener acceso a archivos y carpetas. Enumeración asociada: Unrestricted. |
|
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