Partilhar via


Keyboard.SendKeys Método

Definição

Envia um ou mais pressionamentos de teclas para a janela ativa, como se eles tivessem sido digitados no teclado.

Sobrecargas

SendKeys(String)

Envia um ou mais pressionamentos de teclas para a janela ativa, como se eles tivessem sido digitados no teclado.

SendKeys(String, Boolean)

Envia um ou mais pressionamentos de teclas para a janela ativa, como se eles tivessem sido digitados no teclado.

SendKeys(String)

Envia um ou mais pressionamentos de teclas para a janela ativa, como se eles tivessem sido digitados no 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

Um String que define as teclas a serem enviadas.

Exceções

Existe uma situação de confiança parcial na qual o usuário não tem as permissões necessárias.

Exemplos

Este exemplo usa o My.Computer.Keyboard.SendKeys método para enviar pressionamentos de tecla para um aplicativo externo, o aplicativo bloco de notas, iniciado pelo 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.

Uma exceção ArgumentException será gerada se um aplicativo com o identificador do processo solicitado não for localizado.

A chamada para o Shell método requer confiança total (SecurityException classe).

Comentários

O My.Computer.Keyboard.SendKeys método fornece funcionalidade semelhante aos Send métodos e SendWait .

O wait argumento será útil se o outro aplicativo precisar ser concluído antes que o aplicativo possa continuar.

Observação

Como não há nenhum método gerenciado para ativar outro aplicativo, você pode usar essa classe dentro do aplicativo atual, selecionar manualmente a janela para a qual enviar as chaves ou usar métodos de API do Windows, como FindWindow e SetForegroundWindow, para forçar o foco em outros aplicativos. Para obter mais informações, consulte Passo a passo: Fazer chamadas de APIs do Windows.

O keys argumento pode especificar qualquer chave única ou qualquer chave combinada com ALT, CTRL ou SHIFT (ou qualquer combinação dessas teclas). Cada tecla é representada por um ou mais caracteres, como a para o caractere "a" ou {ENTER} para a tecla ENTER.

Para combinar uma chave com SHIFT, preceda o código de chave com + (sinal de adição). Para combinar uma chave com CTRL, preceda o código de chave com ^ (circunflexo). Para combinar uma chave com ALT, preceda o código de chave com % (sinal de porcentagem). Para especificar chaves repetidas, use o número} da chave de formulário{. Você deve colocar um espaço entre chave e número. Por exemplo, {LEFT 42} significa "pressione a tecla seta para a esquerda 42 vezes"; {h 10} significa "pressione 'h' 10 vezes".

A tabela a seguir lista os códigos que podem ser usados para especificar caracteres que não são exibidos quando você pressiona a tecla correspondente (como ENTER ou TAB).

Chave Código
BACKSPACE {BACKSPACE} ou {BS}
BREAK {BREAK}
CAPS LOCK {CAPSLOCK}
CLEAR {CLEAR}
Delete (excluir) {DELETE} ou {DEL}
SETA PARA BAIXO {DOWN}
END {END}
ENTER (teclado numérico) {ENTER}
Enter ~
ESC {ESCAPE} ou {ESC}
HELP {HELP}
HOME {HOME}
INS {INSERT}
SETA PARA A ESQUERDA {LEFT}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
RETURN {RETURN}
SETA PARA A DIREITA {RIGHT}
SCROLL LOCK {SCROLLLOCK}
TAB {TAB}
SETA PARA CIMA {UP}
F1 a F15 {F1} a {F15}

Disponibilidade por tipo de projeto

Tipo de projeto Disponível
Aplicativo do Windows Sim
Biblioteca de Classes Sim
Aplicativo do Console Sim
Biblioteca de Controle do Windows Sim
Biblioteca de Controles da Web Não
Serviço do Windows Sim
Site Não

Confira também

Aplica-se a

SendKeys(String, Boolean)

Envia um ou mais pressionamentos de teclas para a janela ativa, como se eles tivessem sido digitados no 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

Um String que define as teclas a serem enviadas.

wait
Boolean

Opcional. Um Boolean que especifica se deverá ou não aguardar o processamento dos pressionamentos de tecla antes que o aplicativo continue. True por padrão.

Exceções

Existe uma situação de confiança parcial na qual o usuário não tem as permissões necessárias.

Exemplos

Este exemplo usa o My.Computer.Keyboard.SendKeys método para enviar pressionamentos de tecla para um aplicativo externo, o aplicativo bloco de notas, iniciado pelo 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.

Uma exceção ArgumentException será gerada se um aplicativo com o identificador do processo solicitado não for localizado.

A chamada para o Shell método requer confiança total (SecurityException classe).

Comentários

O My.Computer.Keyboard.SendKeys método fornece funcionalidade semelhante aos Send métodos e SendWait .

O wait argumento será útil se o outro aplicativo precisar ser concluído antes que seu aplicativo possa continuar.

Observação

Como não há nenhum método gerenciado para ativar outro aplicativo, você pode usar essa classe dentro do aplicativo atual, selecionar manualmente a janela para enviar as chaves ou usar métodos de API do Windows, como FindWindow e SetForegroundWindow, para forçar o foco em outros aplicativos. Para obter mais informações, consulte Passo a passo: Fazer chamadas de APIs do Windows.

O keys argumento pode especificar qualquer chave única ou qualquer chave combinada com ALT, CTRL ou SHIFT (ou qualquer combinação dessas chaves). Cada chave é representada por um ou mais caracteres, como a para o caractere "a" ou {ENTER} para a chave ENTER.

Para combinar uma chave com SHIFT, preceda o código de chave com + (sinal de adição). Para combinar uma chave com CTRL, preceda o código de chave com ^ (caret). Para combinar uma chave com ALT, preceda o código de chave com % (sinal de porcentagem). Para especificar chaves repetidas, use o número} da chave de formulário{. Você deve colocar um espaço entre chave e número. Por exemplo, {LEFT 42} significa "pressione a tecla LEFT ARROW 42 vezes"; {h 10} significa "pressione 'h' 10 vezes".

A tabela a seguir lista os códigos que podem ser usados para especificar caracteres que não são exibidos quando você pressiona a tecla correspondente (como ENTER ou TAB).

Chave Código
BACKSPACE {BACKSPACE} ou {BS}
BREAK {BREAK}
CAPS LOCK {CAPSLOCK}
CLEAR {CLEAR}
Delete (excluir) {DELETE} ou {DEL}
SETA PARA BAIXO {DOWN}
END {END}
ENTER (teclado numérico) {ENTER}
Enter ~
ESC {ESCAPE} ou {ESC}
HELP {HELP}
HOME {HOME}
INS {INSERT}
SETA PARA A ESQUERDA {LEFT}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
RETURN {RETURN}
SETA PARA A DIREITA {RIGHT}
SCROLL LOCK {SCROLLLOCK}
TAB {TAB}
SETA PARA CIMA {UP}
F1 a F15 {F1} a {F15}

Disponibilidade por tipo de projeto

Tipo de projeto Disponível
Aplicativo do Windows Sim
Biblioteca de Classes Sim
Aplicativo do Console Sim
Biblioteca de Controle do Windows Sim
Biblioteca de Controles da Web Não
Serviço do Windows Sim
Site Não

Confira também

Aplica-se a