Keyboard.SendKeys Método

Definição

Envia uma ou mais teclas para a janela ativa, como se estivesse a ser escrita no teclado.

Sobrecargas

Name Description
SendKeys(String)

Envia uma ou mais teclas para a janela ativa, como se estivesse a ser escrita no teclado.

SendKeys(String, Boolean)

Envia uma ou mais teclas para a janela ativa, como se estivesse a ser escrita no teclado.

SendKeys(String)

Envia uma ou mais teclas para a janela ativa, como se estivesse a ser escrita 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

A String que define as chaves a enviar.

Exceções

Existe uma situação de confiança parcial em que o utilizador não possui as permissões necessárias.

Exemplos

Este exemplo utiliza o My.Computer.Keyboard.SendKeys método para enviar pressionamentos de tecla para uma aplicação externa, a aplicação Notepad, iniciada 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.

É criada uma ArgumentException exceção se não for possível encontrar uma candidatura com o identificador de processo solicitado.

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

Observações

O My.Computer.Keyboard.SendKeys método oferece funcionalidades semelhantes aos Send métodos and SendWait .

O argumento wait é útil se a outra candidatura tiver de terminar antes de a sua candidatura poder continuar.

Note

Como não existe um método gerido para ativar outra aplicação, pode usar esta classe dentro da aplicação atual, selecionar manualmente a janela para enviar as chaves, ou usar métodos Windows API, como FindWindow e SetForegroundWindow, para forçar o foco noutras aplicações. Para mais informações, consulte Walkthrough: Chamar APIs Windows.

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

Para combinar uma tecla com SHIFT, preceda o código da tecla com + (sinal mais). Para combinar uma tecla com CTRL, preceda o código da tecla com ^ (caret). Para combinar uma chave com ALT, preceda o código da tecla com % (sinal de percentagem). Para especificar as teclas repetidas, use o número }da chave do formulário{. Tens de colocar um espaço entre a chave e o número. Por exemplo, {LEFT 42} significa "pressionar a tecla SETA ESQUERDA 42 vezes"; {h 10} significa "pressionar 'h' 10 vezes."

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

Key Código
BACKSPACE {BACKSPACE} ou {BS}
BREAK {PAUSA}
Caps Lock {MAIÚSCULAS}
LIMPAR {LIMPO}
DELETE {DELETE} ou {DEL}
SETA PARA BAIXO {ABAIXO}
END {FIM}
ENTER (teclado numérico) {ENTER}
ENTER ~
ESC {ESCAPE} ou {ESC}
HELP {AJUDA}
HOME {HOME}
INS {INSERT}
SETA PARA A ESQUERDA {ESQUERDA}
FECHADURA NUM {NUMLOCK}
PÁGINA ABAIXO {PGDN}
PÁGINA ACIMA {PGUP}
RETURN {RETURN}
SETA PARA A DIREITA {CERTO}
FECHADURA DE ROLO {SCROLLLOCK}
TAB {TAB}
SETA PARA CIMA {UP}
F1 a F15 {F1} até {F15}

Disponibilidade por tipo de projeto

Tipo de Projeto Available
Aplicação do Windows Sim
Biblioteca de Classes Sim
Aplicativo de console Sim
Biblioteca de Controlo do Windows Sim
Biblioteca de controle da Web No
Serviço Windows Sim
Web site No

Ver também

Aplica-se a

SendKeys(String, Boolean)

Envia uma ou mais teclas para a janela ativa, como se estivesse a ser escrita 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

A String que define as chaves a enviar.

wait
Boolean

Optional. A Boolean que especifica se deve ou não esperar que as teclas sejam processadas antes de a aplicação continuar. True por padrão.

Exceções

Existe uma situação de confiança parcial em que o utilizador não possui as permissões necessárias.

Exemplos

Este exemplo utiliza o My.Computer.Keyboard.SendKeys método para enviar pressionamentos de tecla para uma aplicação externa, a aplicação Notepad, iniciada 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.

É criada uma ArgumentException exceção se não for possível encontrar uma candidatura com o identificador de processo solicitado.

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

Observações

O My.Computer.Keyboard.SendKeys método oferece funcionalidades semelhantes aos Send métodos and SendWait .

O argumento wait é útil se a outra candidatura tiver de terminar antes de a sua candidatura poder continuar.

Note

Como não existe um método gerido para ativar outra aplicação, pode usar esta classe dentro da aplicação atual, selecionar manualmente a janela para enviar as chaves, ou usar métodos Windows API, como FindWindow e SetForegroundWindow, para forçar o foco noutras aplicações. Para mais informações, consulte Walkthrough: Chamar APIs Windows.

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

Para combinar uma tecla com SHIFT, preceda o código da tecla com + (sinal mais). Para combinar uma tecla com CTRL, preceda o código da tecla com ^ (caret). Para combinar uma chave com ALT, preceda o código da tecla com % (sinal de percentagem). Para especificar as teclas repetidas, use o número }da chave do formulário{. Tens de colocar um espaço entre a chave e o número. Por exemplo, {LEFT 42} significa "pressionar a tecla SETA ESQUERDA 42 vezes"; {h 10} significa "pressionar 'h' 10 vezes."

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

Key Código
BACKSPACE {BACKSPACE} ou {BS}
BREAK {PAUSA}
Caps Lock {MAIÚSCULAS}
LIMPAR {LIMPO}
DELETE {DELETE} ou {DEL}
SETA PARA BAIXO {ABAIXO}
END {FIM}
ENTER (teclado numérico) {ENTER}
ENTER ~
ESC {ESCAPE} ou {ESC}
HELP {AJUDA}
HOME {HOME}
INS {INSERT}
SETA PARA A ESQUERDA {ESQUERDA}
FECHADURA NUM {NUMLOCK}
PÁGINA ABAIXO {PGDN}
PÁGINA ACIMA {PGUP}
RETURN {RETURN}
SETA PARA A DIREITA {CERTO}
FECHADURA DE ROLO {SCROLLLOCK}
TAB {TAB}
SETA PARA CIMA {UP}
F1 a F15 {F1} até {F15}

Disponibilidade por tipo de projeto

Tipo de Projeto Available
Aplicação do Windows Sim
Biblioteca de Classes Sim
Aplicativo de console Sim
Biblioteca de Controlo do Windows Sim
Biblioteca de controle da Web No
Serviço Windows Sim
Web site No

Ver também

Aplica-se a