Este
utilitário é um pequeno aplicativo Microsoft® Windows® de arquivo
único, o SendKeys.exe, que pode ser executado com argumentos na
linha de comando para enviar pressionamento de teclas para a janela
de outro aplicativo rodando no Windows de forma independente
(simulando multithreading no código chamador) com opções para
controlar o inicio, o durante e o final do envio.
Ele é
interessante para ser chamado a partir de códigos de qualquer
linguagem de thread único como o Microsoft Visual Basic® for
Application (VBA) no Microsof Office onde a instrução built-in Sendkeys não pode
oferecer um controle adequado para ser chamada a partir de certas
posições de um procedimento. É também interessante para ser chamado
a partir da caixa do comando Executar do Windows, de atalhos do
Windows e de scripts que não tenham a instrução SendKeys como
linhas de comando no console do Windows (CMD arquivo de lote, BAT do
DOS).
Itens a seguir nesta página:
Características
Download
Sintaxe Completa do Texto a Enviar
Códigos de Teclas Adicionais Extra VBA
Características:
- Pode ser
definida uma espera em segundos antes de iniciar o envio das teclas;
- Pode ser
definida uma espera em segundos para desistir, se a janela alvo não
for encontrada;
- A janela
alvo pode ser a janela ativa ou uma com título definido;
- A sintaxe
do texto a ser enviado é a mesma da instrução
Sendkeys do VBA com alguns códigos
de teclas
adicionais não existentes em VBA para:
1 - Teclas
de Print Screen;
2 - Pausas
entre teclas enviadas;
3 - Teclas
do teclado numérico;
4 - Logoff,
reiniciar ou desligar o sistema;
5 - Enviar teclas virtuais API pelos seus códigos decimais.
- Roda em
silêncio e, opcionalmente, até sem alerta de falhas;
- Pode registrar
o final da execução salvando um arquivo log (Sendkeys.log) no disco
que pode ser usado para sincronização;
- Podem ser
realizadas execuções simultâneas e teclas podem ser enviadas para mais
de uma janela simultaneamente;
- Rodando
o SendKeys.exe sem argumentos, ele exibi uma caixa de diálogo com uma
ajuda rápida, um comando para teste e um outro comando para ajuda mais
detalhada.
Sintaxe:
Caminho\SendKeys.exe
Arg1 Arg2 Arg3 Arg4 [Arg5]
Argumentos separados por espaços e Arg5 é opcional.
Arg1 -
Espera em segundos antes de iniciar o envio de teclas (Esta contagem
de espera só se inicia quando a janela alvo for encontrada e ativada);
Arg2 - Espera em segundos para desistir, se a janela alvo não
for encontrada;
Arg3 - Texto do título da janela alvo (Ver Obs1 e 2.);
Arg4 - Texto com as teclas a serem enviadas (Ver Obs1 e 3);
Arg5 - Opcional: 1 - Roda em silêncio sem alerta de falhas; 2
- Salva um arquivo de log (Sendkeys.log) no disco para marcar o
final da execução e que pode ser usado para sincronizar assim: o
código de chamada primeiro deleta este arquivo log, envia as teclas
e pausa em um loop de verificação até ele ser criado novamente para
então continuar.
Obs1.:
Aspas são necessárias, se houver espaço no texto.
Obs2.:
No lugar do texto do título pode ser usado também o número retornado
pela função Shell do VBA. Título vazio (Aspas sem texto) envia teclas
para a janela ativa.
Obs3.:
Para o envio de teclas especiais, ver a ajuda do VBA para a instrução
Sendkeys. Veja Sintaxe Completa do Texto
a Enviar.
Exemplos:
1 - Em
VBA usa-se a função Shell como no código teste abaixo:
Sub Teste()
Dim Ret
Shell "Notepad.exe", vbNormalFocus
Ret = Shell("Path\SendKeys.exe 1 10 ""Sem título - Bloco de Notas"" ""Alô!~{PAUSE}Depois de 1s.~{PAUSE 2}Depois de 3s.~""", vbNormalFocus)
End Sub
2 - No console do Windows, em atalhos do Windows, em BAT do DOS ou
na caixa do comando Executar do Windows pode ser algo assim:
SendKeys.exe 1 10 "Sem título - Bloco de Notas" "Alô!~{PAUSE}Depois de 1s.~{PAUSE 2}Depois de 3s.~"
Sintaxe Completa do Texto a Enviar:
Cada tecla
é representada por um ou mais caracteres. Para especificar um único
caractere de teclado, utilize o próprio caractere. Por exemplo, para
representar a letra A, utilize "A" para string. Para representar mais
de um caractere, anexe cada caractere adicional ao que o antecede. Para
representar as letras A, B e C, utilize "ABC" para string.
O sinal de
adição (+), circunflexo (^), sinal de porcentagem (%), til (~) e parênteses
( ) possuem significados especiais para SendKeys. Para especificar um
desses caracteres, coloque-os entre chaves ({}). Por exemplo, para especificar
o sinal de adição, utilize {+}. Os colchetes ([ ]) não têm significado
especial para SendKeys, mas você deve colocá-los entre chaves. Em outros
aplicativos, os colchetes têm um significado especial que pode ser importante
quando ocorrer intercâmbio dinâmico de dados (DDE, Dynamic Data Exchange).
Para especificar caracteres de chaves, utilize {{} e {}}.
Para especificar
caracteres que não são exibidos quando você pressiona uma tecla, como
ENTER ou TAB, e teclas que representam ações em vez de caracteres, utilize
os códigos a seguir.
Tecla |
Código |
BACKSPACE |
{BACKSPACE}, {BS}
ou {BKSP} |
BREAK |
{BREAK} |
CAPS LOCK |
{CAPSLOCK} |
DEL ou DELETE |
{DELETE} ou {DEL} |
SETA PARA BAIXO |
{DOWN} |
END |
{END} |
ENTER |
{ENTER}ou ~ |
ESC |
{ESC} |
HELP |
{HELP} |
HOME |
{HOME} |
INS ou INSERT |
{INSERT} ou {INS} |
SETA À ESQUERDA |
{LEFT} |
NUM LOCK |
{NUMLOCK} |
PAGE DOWN |
{PGDN} |
PAGE UP |
{PGUP} |
SETA À DIREITA |
{RIGHT} |
SCROLL LOCK |
{SCROLLLOCK} |
TAB |
{TAB} |
SETA ACIMA |
{UP} |
F1 |
{F1} |
F2 |
{F2} |
F3 |
{F3} |
F4 |
{F4} |
F5 |
{F5} |
F6 |
{F6} |
F7 |
{F7} |
F8 |
{F8} |
F9 |
{F9} |
F10 |
{F10} |
F11 |
{F11} |
F12 |
{F12} |
F13 |
{F13} |
F14 |
{F14} |
F15 |
{F15} |
F16 |
{F16} |
Para especificar teclas combinadas com qualquer combinação das teclas
SHIFT, CTRL e ALT, preceda o código de teclas de um ou mais dos códigos
a seguir:
Tecla |
Código |
SHIFT |
+ |
CTRL |
^ |
ALT |
% |
Para especificar que qualquer combinação de SHIFT, CTRL e ALT deve ser
mantida pressionada enquanto várias outras teclas são pressionadas,
coloque o código dessas teclas entre parênteses. Por exemplo, para especificar
manter pressionada SHIFT enquanto E e C são pressionadas, utilize "+(EC)".
Para especificar manter pressionada SHIFT enquanto E é pressionada,
seguida de C sem SHIFT, utilize "+EC".
Para especificar
a repetição de teclas, utilize a forma {tecla número}. Você deve colocar
um espaço entre tecla e número. Por exemplo, {ESQUERDA 42} significa
pressionar a tecla SETA À ESQUERDA 42 vezes; {h 10} significa pressionar
H 10 vezes.
Observações:
1 - Você não pode utilizar SendKeys para enviar pressionamentos de teclas para um aplicativo que
não tenha sido projetado para ser executado no Microsoft Windows.
2 - Estes códigos padrão do VBA não distingue as teclas de controle
SHIFT, CTRL e ALT do lado direito do teclado das respectivas teclas
do lado esquerdo. No entanto há configurações que estas teclas têm
as funcionalidades customizadas quando, por exemplo, usando
máquinas virtuais, mas os Códigos de
Teclas Adicionais Extra VBA descritos abaixo permitem distinguir,
veja o exemplo 2 para os códigos {VK nn} e {VK_nn}.
Download:
Testado com
o Microsoft Office para Windows, versões 97 (Veja
Obs.), 2000, 2002(XP),
2003, 2007, 2010 (32 e 64-bit), 2013 (32 e 64-bit), 2016 (32 e 64-bit) e 2019 (32 e 64-bit) em instalações MSI-based e Click-To-Run do Office 365™ de serviços baseados na
nuvem.
Códigos de Teclas Adicionais Extra VBA:
Estes códigos
de teclas, apesar de não existir no VBA, também são suportados aqui.
Tecla
|
Código
|
Print Screen - Tela inteira
|
{PRTSC}
|
Print Screen - Janela ativa
|
%{PRTSC}
|
Pausar 1 segundo
|
{PAUSE}
|
Pausar n segundos
|
{PAUSE n}
|
0 do teclado numérico
|
{NUMPAD0}
|
1 do teclado numérico
|
{NUMPAD1}
|
2 do teclado numérico
|
{NUMPAD2}
|
3 do teclado numérico
|
{NUMPAD3}
|
4 do teclado numérico
|
{NUMPAD4}
|
5 do teclado numérico
|
{NUMPAD5}
|
6 do teclado numérico
|
{NUMPAD6}
|
7 do teclado numérico
|
{NUMPAD7}
|
8 do teclado numérico
|
{NUMPAD8}
|
9 do teclado numérico
|
{NUMPAD9}
|
+ do teclado numérico
|
{ADD}
|
- do teclado numérico
|
{SUBTRACT}
|
* do teclado numérico
|
{MULTIPLY}
|
/ do teclado numérico
|
{DIVIDE}
|
Separador de decimal
do teclado numérico
|
{DECIMAL}
|
Envia as teclas 'Ctrl + Alt + DEL' para
DESLIGAR o computador, SE POSSÍVEL
|
^%{DEL}
|
Envia as teclas 'Ctrl + Alt + DEL' para
DESLIGAR o computador, FORÇADAMENTE
|
^%{DEL 1}
|
Envia as teclas 'Ctrl + Alt + DEL' para
REINICIAR o computador, SE POSSÍVEL
|
^%{DEL 2}
|
Envia as teclas 'Ctrl + Alt + DEL' para
REINICIAR o computador, FORÇADAMENTE
|
^%{DEL 3}
|
Envia as teclas 'Ctrl + Alt + DEL' para
FAZER LOGOFF do usuário, SE POSSÍVEL
|
^%{DEL 4}
|
Envia as teclas 'Ctrl + Alt + DEL' para
FAZER LOGOFF do usuário, FORÇADAMENTE
|
^%{DEL 5}
|
Envia a tecla virtual API de código decimal nn
de FORMA NORMAL (baixando e liberando)
|
{VK nn}
|
Envia a tecla virtual API de código decimal nn
APENAS BAIXANDO
|
{VK_nn}
|
Com estes códigos {VK nn} e {VK_nn}, você pode enviar qualquer tecla
ou combinação de teclas. Ao pressionar uma tecla de controle enviando
seu código {VK_nn}, ela ficará pressionada enquanto não for enviado
seu código {VK nn} normal. Por exemplo:
1 - Se quiser enviar a tecla de
atalho composta pelo 'Botão do Windows' e a letra 'R', primeiro envie
a tecla 'Botão do Windows' apenas baixando, depois a tecla 'R' e, finalmente,
a tecla 'Botão do Windows' de forma normal para liberá-la, assim: {VK_91}{VK
82}{VK 91}
2 - Se quiser enviar a tecla de atalho composta por ALT do lado
esquerdo do teclado e a letra 'S', primeiro envie aquela tecla ALT
apenas baixando, depois a tecla 'S' e, finalmente, a tecla ALT de
forma normal para liberá-la, assim: {VK_164}{VK 83}{VK 164}
A tabela abaixo foi montada a partir desta
lista de código de teclas virtuais no MSDN. Ela relaciona cada um
dos 254 números decimais possíveis para teclas virtuais com as correspondentes
teclas físicas já designadas pela Microsoft.
Dec |
Key
|
Code |
Symbolic API Const |
Hex |
1 |
Left mouse button |
{VK 1} |
VK_LBUTTON |
0x01 |
2 |
Right mouse button |
{VK 2} |
VK_RBUTTON |
0x02 |
3 |
Control-break processing |
{VK 3} |
VK_CANCEL |
0x03 |
4 |
Middle mouse button (three-button mouse)
|
{VK 4} |
VK_MBUTTON |
0x04 |
5 |
Windows 2000/XP: X1 mouse button |
{VK 5} |
VK_XBUTTON1 |
0x05 |
6 |
Windows 2000/XP: X2 mouse button |
{VK 6} |
VK_XBUTTON2 |
0x06 |
7 |
Undefined |
{VK 7} |
|
0x07 |
8 |
BACKSPACE key |
{VK 8} |
VK_BACK |
0x08 |
9 |
TAB key |
{VK 9} |
VK_TAB |
0x09 |
10 |
Reserved |
{VK 10} |
|
0x0A |
11 |
Reserved |
{VK 11} |
|
0x0B |
12 |
CLEAR key |
{VK 12} |
VK_CLEAR |
0x0C |
13 |
ENTER key |
{VK 13} |
VK_RETURN |
0x0D |
14 |
Undefined |
{VK 14} |
|
0x0E |
15 |
Undefined |
{VK 15} |
|
0x0F |
16 |
SHIFT key |
{VK 16} |
VK_SHIFT |
0x10 |
17 |
CTRL key |
{VK 17} |
VK_CONTROL |
0x11 |
18 |
ALT key |
{VK 18} |
VK_MENU |
0x12 |
19 |
PAUSE key |
{VK 19} |
VK_PAUSE |
0x13 |
20 |
CAPS LOCK key |
{VK 20} |
VK_CAPITAL |
0x14 |
21 |
Input Method Editor (IME) Kana mode, Hanguel,
or Hangul mode |
{VK 21} |
VK_KANA, VK_HANGUEL, VK_HANGUL |
0x15 |
22 |
Undefined |
{VK 22} |
|
0x16 |
23 |
IME Junja mode |
{VK 23} |
VK_JUNJA |
0x17 |
24 |
IME final mode |
{VK 24} |
VK_FINAL |
0x18 |
25 |
IME Hanja mode, IME Kanji mode |
{VK 25} |
VK_HANJA, VK_KANJI |
0x19 |
26 |
Undefined |
{VK 26} |
|
0x1A |
27 |
ESC key |
{VK 27} |
VK_ESCAPE |
0x1B |
28 |
IME convert |
{VK 28} |
VK_CONVERT |
0x1C |
29 |
IME nonconvert |
{VK 29} |
VK_NONCONVERT |
0x1D |
30 |
IME accept |
{VK 30} |
VK_ACCEPT |
0x1E |
31 |
IME mode change request |
{VK 31} |
VK_MODECHANGE |
0x1F |
32 |
SPACEBAR |
{VK 32} |
VK_SPACE |
0x20 |
33 |
PAGE UP key |
{VK 33} |
VK_PRIOR |
0x21 |
34 |
PAGE DOWN key |
{VK 34} |
VK_NEXT |
0x22 |
35 |
END key |
{VK 35} |
VK_END |
0x23 |
36 |
HOME key |
{VK 36} |
VK_HOME |
0x24 |
37 |
LEFT ARROW key |
{VK 37} |
VK_LEFT |
0x25 |
38 |
UP ARROW key |
{VK 38} |
VK_UP |
0x26 |
39 |
RIGHT ARROW key |
{VK 39} |
VK_RIGHT |
0x27 |
40 |
DOWN ARROW key |
{VK 40} |
VK_DOWN |
0x28 |
41 |
SELECT key |
{VK 41} |
VK_SELECT |
0x29 |
42 |
PRINT key |
{VK 42} |
VK_PRINT |
0x2A |
43 |
EXECUTE key |
{VK 43} |
VK_EXECUTE |
0x2B |
44 |
PRINT SCREEN key |
{VK 44} |
VK_SNAPSHOT |
0x2C |
45 |
INS key |
{VK 45} |
VK_INSERT |
0x2D |
46 |
DEL key |
{VK 46} |
VK_DELETE |
0x2E |
47 |
HELP key |
{VK 47} |
VK_HELP |
0x2F |
48 |
0 key |
{VK 48} |
|
0x30 |
49 |
1 key |
{VK 49} |
|
0x31 |
50 |
2 key |
{VK 50} |
|
0x32 |
51 |
3 key |
{VK 51} |
|
0x33 |
52 |
4 key |
{VK 52} |
|
0x34 |
53 |
5 key |
{VK 53} |
|
0x35 |
54 |
6 key |
{VK 54} |
|
0x36 |
55 |
7 key |
{VK 55} |
|
0x37 |
56 |
8 key |
{VK 56} |
|
0x38 |
57 |
9 key |
{VK 57} |
|
0x39 |
58 |
Undefined |
{VK 58} |
|
0x3A |
59 |
Undefined |
{VK 59} |
|
0x3B |
60 |
Undefined |
{VK 60} |
|
0x3C |
61 |
Undefined |
{VK 61} |
|
0x3D |
62 |
Undefined |
{VK 62} |
|
0x3E |
63 |
Undefined |
{VK 63} |
|
0x3F |
64 |
Undefined |
{VK 64} |
|
0x40 |
65 |
A key |
{VK 65} |
|
0x41 |
66 |
B key |
{VK 66} |
|
0x42 |
67 |
C key |
{VK 67} |
|
0x43 |
68 |
D key |
{VK 68} |
|
0x44 |
69 |
E key |
{VK 69} |
|
0x45 |
70 |
F key |
{VK 70} |
|
0x46 |
71 |
G key |
{VK 71} |
|
0x47 |
72 |
H key |
{VK 72} |
|
0x48 |
73 |
I key |
{VK 73} |
|
0x49 |
74 |
J key |
{VK 74} |
|
0x4A |
75 |
K key |
{VK 75} |
|
0x4B |
76 |
L key |
{VK 76} |
|
0x4C |
77 |
M key |
{VK 77} |
|
0x4D |
78 |
N key |
{VK 78} |
|
0x4E |
79 |
O key |
{VK 79} |
|
0x4F |
80 |
P key |
{VK 80} |
|
0x50 |
81 |
Q key |
{VK 81} |
|
0x51 |
82 |
R key |
{VK 82} |
|
0x52 |
83 |
S key |
{VK 83} |
|
0x53 |
84 |
T key |
{VK 84} |
|
0x54 |
85 |
U key |
{VK 85} |
|
0x55 |
86 |
V key |
{VK 86} |
|
0x56 |
87 |
W key |
{VK 87} |
|
0x57 |
88 |
X key |
{VK 88} |
|
0x58 |
89 |
Y key |
{VK 89} |
|
0x59 |
90 |
Z key |
{VK 90} |
|
0x5A |
91 |
Left Windows key (Microsoft Natural keyboard)
|
{VK 91} |
VK_LWIN |
0x5B |
92 |
Right Windows key (Natural keyboard)
|
{VK 92} |
VK_RWIN |
0x5C |
93 |
Applications key (Natural keyboard) |
{VK 93} |
VK_APPS |
0x5D |
94 |
Reserved |
{VK 94} |
|
0x5E |
95 |
Computer Sleep key |
{VK 95} |
VK_SLEEP |
0x5F |
96 |
Numeric keypad 0 key |
{VK 96} |
VK_NUMPAD0 |
0x60 |
97 |
Numeric keypad 1 key |
{VK 97} |
VK_NUMPAD1 |
0x61 |
98 |
Numeric keypad 2 key |
{VK 98} |
VK_NUMPAD2 |
0x62 |
99 |
Numeric keypad 3 key |
{VK 99} |
VK_NUMPAD3 |
0x63 |
100 |
Numeric keypad 4 key |
{VK 100} |
VK_NUMPAD4 |
0x64 |
101 |
Numeric keypad 5 key |
{VK 101} |
VK_NUMPAD5 |
0x65 |
102 |
Numeric keypad 6 key |
{VK 102} |
VK_NUMPAD6 |
0x66 |
103 |
Numeric keypad 7 key |
{VK 103} |
VK_NUMPAD7 |
0x67 |
104 |
Numeric keypad 8 key |
{VK 104} |
VK_NUMPAD8 |
0x68 |
105 |
Numeric keypad 9 key |
{VK 105} |
VK_NUMPAD9 |
0x69 |
106 |
Multiply key |
{VK 106} |
VK_MULTIPLY |
0x6A |
107 |
Add key |
{VK 107} |
VK_ADD |
0x6B |
108 |
Separator key |
{VK 108} |
VK_SEPARATOR |
0x6C |
109 |
Subtract key |
{VK 109} |
VK_SUBTRACT |
0x6D |
110 |
Decimal key |
{VK 110} |
VK_DECIMAL |
0x6E |
111 |
Divide key |
{VK 111} |
VK_DIVIDE |
0x6F |
112 |
F1 key |
{VK 112} |
VK_F1 |
0x70 |
113 |
F2 key |
{VK 113} |
VK_F2 |
0x71 |
114 |
F3 key |
{VK 114} |
VK_F3 |
0x72 |
115 |
F4 key |
{VK 115} |
VK_F4 |
0x73 |
116 |
F5 key |
{VK 116} |
VK_F5 |
0x74 |
117 |
F6 key |
{VK 117} |
VK_F6 |
0x75 |
118 |
F7 key |
{VK 118} |
VK_F7 |
0x76 |
119 |
F8 key |
{VK 119} |
VK_F8 |
0x77 |
120 |
F9 key |
{VK 120} |
VK_F9 |
0x78 |
121 |
F10 key |
{VK 121} |
VK_F10 |
0x79 |
122 |
F11 key |
{VK 122} |
VK_F11 |
0x7A |
123 |
F12 key |
{VK 123} |
VK_F12 |
0x7B |
124 |
F13 key |
{VK 124} |
VK_F13 |
0x7C |
125 |
F14 key |
{VK 125} |
VK_F14 |
0x7D |
126 |
F15 key |
{VK 126} |
VK_F15 |
0x7E |
127 |
F16 key |
{VK 127} |
VK_F16 |
0x7F |
128 |
F17 key |
{VK 128} |
VK_F17 |
0x80 |
129 |
F18 key |
{VK 129} |
VK_F18 |
0x81 |
130 |
F19 key |
{VK 130} |
VK_F19 |
0x82 |
131 |
F20 key |
{VK 131} |
VK_F20 |
0x83 |
132 |
F21 key |
{VK 132} |
VK_F21 |
0x84 |
133 |
F22 key |
{VK 133} |
VK_F22 |
0x85 |
134 |
F23 key |
{VK 134} |
VK_F23 |
0x86 |
135 |
F24 key |
{VK 135} |
VK_F24 |
0x87 |
136 |
Unassigned |
{VK 136} |
|
0x88 |
137 |
Unassigned |
{VK 137} |
|
0x89 |
138 |
Unassigned |
{VK 138} |
|
0x8A |
139 |
Unassigned |
{VK 139} |
|
0x8B |
140 |
Unassigned |
{VK 140} |
|
0x8C |
141 |
Unassigned |
{VK 141} |
|
0x8D |
142 |
Unassigned |
{VK 142} |
|
0x8E |
143 |
Unassigned |
{VK 143} |
|
0x8F |
144 |
NUM LOCK key |
{VK 144} |
VK_NUMLOCK |
0x90 |
145 |
SCROLL LOCK key |
{VK 145} |
VK_SCROLL |
0x91 |
146 |
OEM specific |
{VK 146} |
|
0x92 |
147 |
OEM specific |
{VK 147} |
|
0x93 |
148 |
OEM specific |
{VK 148} |
|
0x94 |
149 |
OEM specific |
{VK 149} |
|
0x95 |
150 |
OEM specific |
{VK 150} |
|
0x96 |
151 |
Unassigned |
{VK 151} |
|
0x97 |
152 |
Unassigned |
{VK 152} |
|
0x98 |
153 |
Unassigned |
{VK 153} |
|
0x99 |
154 |
Unassigned |
{VK 154} |
|
0x9A |
155 |
Unassigned |
{VK 155} |
|
0x9B |
156 |
Unassigned |
{VK 156} |
|
0x9C |
157 |
Unassigned |
{VK 157} |
|
0x9D |
158 |
Unassigned |
{VK 158} |
|
0x9E |
159 |
Unassigned |
{VK 159} |
|
0x9F |
160 |
Left SHIFT key |
{VK 160} |
VK_LSHIFT |
0xA0 |
161 |
Right SHIFT key |
{VK 161} |
VK_RSHIFT |
0xA1 |
162 |
Left CONTROL key |
{VK 162} |
VK_LCONTROL |
0xA2 |
163 |
Right CONTROL key |
{VK 163} |
VK_RCONTROL |
0xA3 |
164 |
Left MENU key |
{VK 164} |
VK_LMENU |
0xA4 |
165 |
Right MENU key |
{VK 165} |
VK_RMENU |
0xA5 |
166 |
Windows 2000/XP: Browser Back key |
{VK 166} |
VK_BROWSER_BACK |
0xA6 |
167 |
Windows 2000/XP: Browser Forward key
|
{VK 167} |
VK_BROWSER_FORWARD |
0xA7 |
168 |
Windows 2000/XP: Browser Refresh key
|
{VK 168} |
VK_BROWSER_REFRESH |
0xA8 |
169 |
Windows 2000/XP: Browser Stop key |
{VK 169} |
VK_BROWSER_STOP |
0xA9 |
170 |
Windows 2000/XP: Browser Search key |
{VK 170} |
VK_BROWSER_SEARCH |
0xAA |
171 |
Windows 2000/XP: Browser Favorites key
|
{VK 171} |
VK_BROWSER_FAVORITES |
0xAB |
172 |
Windows 2000/XP: Browser Start and Home
key |
{VK 172} |
VK_BROWSER_HOME |
0xAC |
173 |
Windows 2000/XP: Volume Mute key |
{VK 173} |
VK_VOLUME_MUTE |
0xAD |
174 |
Windows 2000/XP: Volume Down key |
{VK 174} |
VK_VOLUME_DOWN |
0xAE |
175 |
Windows 2000/XP: Volume Up key |
{VK 175} |
VK_VOLUME_UP |
0xAF |
176 |
Windows 2000/XP: Next Track key |
{VK 176} |
VK_MEDIA_NEXT_TRACK |
0xB0 |
177 |
Windows 2000/XP: Previous Track key |
{VK 177} |
VK_MEDIA_PREV_TRACK |
0xB1 |
178 |
Windows 2000/XP: Stop Media key |
{VK 178} |
VK_MEDIA_STOP |
0xB2 |
179 |
Windows 2000/XP: Play/Pause Media key
|
{VK 179} |
VK_MEDIA_PLAY_PAUSE |
0xB3 |
180 |
Windows 2000/XP: Start Mail key |
{VK 180} |
VK_LAUNCH_MAIL |
0xB4 |
181 |
Windows 2000/XP: Select Media key |
{VK 181} |
VK_LAUNCH_MEDIA_SELECT |
0xB5 |
182 |
Windows 2000/XP: Start Application 1 key
|
{VK 182} |
VK_LAUNCH_APP1 |
0xB6 |
183 |
Windows 2000/XP: Start Application 2 key
|
{VK 183} |
VK_LAUNCH_APP2 |
0xB7 |
184 |
Reserved |
{VK 184} |
|
0xB8 |
185 |
Reserved |
{VK 185} |
|
0xB9 |
186 |
Used for miscellaneous characters; it can
vary by keyboard. Windows 2000/XP: For the US standard keyboard,
the ';:' key |
{VK 186} |
VK_OEM_1 |
0xBA |
187 |
Windows 2000/XP: For any country/region,
the '+' key |
{VK 187} |
VK_OEM_PLUS |
0xBB |
188 |
Windows 2000/XP: For any country/region,
the ',' key |
{VK 188} |
VK_OEM_COMMA |
0xBC |
189 |
Windows 2000/XP: For any country/region,
the '-' key |
{VK 189} |
VK_OEM_MINUS |
0xBD |
190 |
Windows 2000/XP: For any country/region,
the '.' key |
{VK 190} |
VK_OEM_PERIOD |
0xBE |
191 |
Used for miscellaneous characters; it can
vary by keyboard. Windows 2000/XP: For the US standard keyboard,
the '/?' key |
{VK 191} |
VK_OEM_2 |
0xBF |
192 |
Used for miscellaneous characters; it can
vary by keyboard. Windows 2000/XP: For the US standard keyboard,
the '`~' key |
{VK 192} |
VK_OEM_3 |
0xC0 |
193 |
Reserved |
{VK 193} |
|
0xC1 |
194 |
Reserved |
{VK 194} |
|
0xC2 |
195 |
Reserved |
{VK 195} |
|
0xC3 |
196 |
Reserved |
{VK 196} |
|
0xC4 |
197 |
Reserved |
{VK 197} |
|
0xC5 |
198 |
Reserved |
{VK 198} |
|
0xC6 |
199 |
Reserved |
{VK 199} |
|
0xC7 |
200 |
Unassigned |
{VK 200} |
|
0xC8 |
201 |
Unassigned |
{VK 201} |
|
0xC9 |
202 |
Unassigned |
{VK 202} |
|
0xCA |
203 |
Unassigned |
{VK 203} |
|
0xCB |
204 |
Unassigned |
{VK 204} |
|
0xCC |
205 |
Unassigned |
{VK 205} |
|
0xCD |
206 |
Unassigned |
{VK 206} |
|
0xCE |
207 |
Unassigned |
{VK 207} |
|
0xCF |
208 |
Unassigned |
{VK 208} |
|
0xD0 |
209 |
Unassigned |
{VK 209} |
|
0xD1 |
210 |
Unassigned |
{VK 210} |
|
0xD2 |
211 |
Unassigned |
{VK 211} |
|
0xD3 |
212 |
Unassigned |
{VK 212} |
|
0xD4 |
213 |
Unassigned |
{VK 213} |
|
0xD5 |
214 |
Unassigned |
{VK 214} |
|
0xD6 |
215 |
Unassigned |
{VK 215} |
|
0xD7 |
216 |
Unassigned |
{VK 216} |
|
0xD8 |
217 |
Unassigned |
{VK 217} |
|
0xD9 |
218 |
Unassigned |
{VK 218} |
|
0xDA |
219 |
Used for miscellaneous characters; it can
vary by keyboard. Windows 2000/XP: For the US standard keyboard,
the '[{' key |
{VK 219} |
VK_OEM_4 |
0xDB |
220 |
Used for miscellaneous characters; it can
vary by keyboard. Windows 2000/XP: For the US standard keyboard,
the '\|' key |
{VK 220} |
VK_OEM_5 |
0xDC |
221 |
Used for miscellaneous characters; it can
vary by keyboard. Windows 2000/XP: For the US standard keyboard,
the ']}' key |
{VK 221} |
VK_OEM_6 |
0xDD |
222 |
Used for miscellaneous characters; it can
vary by keyboard. Windows 2000/XP: For the US standard keyboard,
the 'single-quote/double-quote' key |
{VK 222} |
VK_OEM_7 |
0xDE |
223 |
Used for miscellaneous characters; it can
vary by keyboard. |
{VK 223} |
VK_OEM_8 |
0xDF |
224 |
Reserved |
{VK 224} |
|
0xE0 |
225 |
OEM specific |
{VK 225} |
|
0xE1 |
226 |
Windows 2000/XP: Either the angle bracket
key or the backslash key on the RT 102-key keyboard |
{VK 226} |
VK_OEM_102 |
0xE2 |
227 |
OEM specific |
{VK 227} |
|
0xE3 |
228 |
OEM specific |
{VK 228} |
|
0xE4 |
229 |
Windows 95/98/Me, Windows NT 4.0, Windows
2000/XP: IME PROCESS key |
{VK 229} |
VK_PROCESSKEY |
0xE5 |
230 |
OEM specific |
{VK 230} |
|
0xE6 |
231 |
Windows 2000/XP: Used to pass Unicode characters
as if they were keystrokes. The VK_PACKET key is the low
word of a 32-bit Virtual Key value used for non-keyboard
input methods. For more information, see Remark in KEYBDINPUT,
SendInput, WM_KEYDOWN, and WM_KEYUP |
{VK 231} |
VK_PACKET |
0xE7 |
232 |
Unassigned |
{VK 232} |
|
0xE8 |
233 |
OEM specific |
{VK 233} |
|
0xE9 |
234 |
OEM specific |
{VK 234} |
|
0xEA |
235 |
OEM specific |
{VK 235} |
|
0xEB |
236 |
OEM specific |
{VK 236} |
|
0xEC |
237 |
OEM specific |
{VK 237} |
|
0xED |
238 |
OEM specific |
{VK 238} |
|
0xEE |
239 |
OEM specific |
{VK 239} |
|
0xEF |
240 |
OEM specific |
{VK 240} |
|
0xF0 |
241 |
OEM specific |
{VK 241} |
|
0xF1 |
242 |
OEM specific |
{VK 242} |
|
0xF2 |
243 |
OEM specific |
{VK 243} |
|
0xF3 |
244 |
OEM specific |
{VK 244} |
|
0xF4 |
245 |
OEM specific |
{VK 245} |
|
0xF5 |
246 |
Attn key |
{VK 246} |
VK_ATTN |
0xF6 |
247 |
CrSel key |
{VK 247} |
VK_CRSEL |
0xF7 |
248 |
ExSel key |
{VK 248} |
VK_EXSEL |
0xF8 |
249 |
Erase EOF key |
{VK 249} |
VK_EREOF |
0xF9 |
250 |
Play key |
{VK 250} |
VK_PLAY |
0xFA |
251 |
Zoom key |
{VK 251} |
VK_ZOOM |
0xFB |
252 |
Reserved |
{VK 252} |
VK_NONAME |
0xFC |
253 |
PA1 key |
{VK 253} |
VK_PA1 |
0xFD |
254 |
Clear key |
{VK 254} |
VK_OEM_CLEAR |
0xFE |
|
|
|
|
|
Mais
informação
Home
|