Get-KeyState
Получить статус клавиши клавиатуры и мыши
Параметры
-Key Название клавиши
-Toggle Узнать включена ли клавиша. CapsLock, NumLock, ScrollLock.
Возвращаемые значения
0 - Клавиша не нажималась
1 - Клавиша была нажата
2 - Клавиша опущена (зажата)
список клавиш мыши
Name | Code | Description |
---|---|---|
LButton | 1 | Левая кнопка мыши. |
RButton | 2 | Правая кнопка мыши. |
MButton | 4 | Средняя кнопка мыши (трехкнопочная мышь). |
XButton1 | 5 | Первая кнопка мыши (пятикнопочная мышь). |
XButton2 | 6 | Вторая кнопка мыши (пятикнопочная мышь). |
список клавиш клавиатуры
Name | Code | Description |
---|---|---|
A | 65 | Клавиша A. |
Add | 107 | Клавиша сложения. |
Alt | 262144 | Клавиша ALT. |
Apps | 93 | Клавиша контекстного меню (клавиатура Microsoft Natural). |
Attn | 246 | Клавиша ATTN. |
B | 66 | Клавиша B. |
Back | 8 | Клавиша BACKSPACE. |
BrowserBack | 166 | Клавиша браузера "Назад". |
BrowserFavorites | 171 | Клавиша браузера "Избранное". |
BrowserForward | 167 | Клавиша браузера "Вперед". |
BrowserHome | 172 | Клавиша браузера "Главная". |
BrowserRefresh | 168 | Клавиша браузера "Обновить". |
BrowserSearch | 170 | Клавиша браузера "Поиск". |
BrowserStop | 169 | Клавиша браузера "Остановить". |
C | 67 | Клавиша C. |
Cancel | 3 | Клавиша отмены. |
Capital | 20 | Клавиша CAPS LOCK. |
CapsLock | 20 | Клавиша CAPS LOCK. |
Clear | 12 | Клавиша CLEAR. |
Control | 131072 | Клавиша CTRL. |
ControlKey | 17 | Клавиша CTRL. |
Crsel | 247 | Клавиша CRSEL. |
D | 68 | Клавиша D. |
D0 | 48 | Клавиша 0. |
D1 | 49 | Клавиша 1. |
D2 | 50 | Клавиша 2. |
D3 | 51 | Клавиша 3. |
D4 | 52 | Клавиша 4. |
D5 | 53 | Клавиша 5. |
D6 | 54 | Клавиша 6. |
D7 | 55 | Клавиша 7. |
D8 | 56 | Клавиша 8. |
D9 | 57 | Клавиша 9. |
Decimal | 110 | Клавиша десятичного разделителя. |
Delete | 46 | Клавиша DEL. |
Divide | 111 | Клавиша деления. |
Down | 40 | Клавиша СТРЕЛКА ВНИЗ. |
E | 69 | Клавиша E. |
End | 35 | Клавиша END. |
Enter | 13 | Клавиша ВВОД. |
EraseEof | 249 | Клавиша ERASE EOF. |
Escape | 27 | Клавиша ESC. |
Execute | 43 | Клавиша EXECUTE. |
Exsel | 248 | Клавиша EXSEL. |
F | 70 | Клавиша F. |
F1 | 112 | Клавиша F1. |
F10 | 121 | Клавиша F10. |
F11 | 122 | Клавиша F11. |
F12 | 123 | Клавиша F12. |
F13 | 124 | Клавиша F13. |
F14 | 125 | Клавиша F14. |
F15 | 126 | Клавиша F15. |
F16 | 127 | Клавиша F16. |
F17 | 128 | Клавиша F17. |
F18 | 129 | Клавиша F18. |
F19 | 130 | Клавиша F19. |
F2 | 113 | Клавиша F2. |
F20 | 131 | Клавиша F20. |
F21 | 132 | Клавиша F21. |
F22 | 133 | Клавиша F22. |
F23 | 134 | Клавиша F23. |
F24 | 135 | Клавиша F24. |
F3 | 114 | Клавиша F3. |
F4 | 115 | Клавиша F4. |
F5 | 116 | Клавиша F5. |
F6 | 117 | Клавиша F6. |
F7 | 118 | Клавиша F7. |
F8 | 119 | Клавиша F8. |
F9 | 120 | Клавиша F9. |
FinalMode | 24 | Клавиша окончательного режима IME. |
G | 71 | Клавиша G. |
H | 72 | Клавиша H. |
HanguelMode | 21 | Клавиша режима IME Hanguel (поддерживается для обеспечения совместимости; используйте клавишу HangulMode). |
HangulMode | 21 | Клавиша режима "Хангыль" редактора метода ввода. |
HanjaMode | 25 | Клавиша режима "Ханджа" редактора метода ввода. |
Help | 47 | Клавиша HELP. |
Home | 36 | Клавиша HOME. |
I | 73 | Клавиша I. |
IMEAccept | 30 | Клавиша принятия IME, заменяет клавишу IMEAceept. |
IMEAceept | 30 | Клавиша принятия IME. Является устаревшей, вместо нее используется клавиша IMEAccept. |
IMEConvert | 28 | Клавиша преобразования IME. |
IMEModeChange | 31 | Клавиша изменения режима IME. |
IMENonconvert | 29 | Клавиша без преобразования IME. |
Insert | 45 | Клавиша INS. |
J | 74 | Клавиша J. |
JunjaMode | 23 | Клавиша режима "Джунджа" редактора метода ввода. |
K | 75 | Клавиша K. |
KanaMode | 21 | Клавиша режима "Кана" редактора метода ввода. |
KanjiMode | 25 | Клавиша режима "Кандзи" редактора метода ввода. |
KeyCode | 65535 | Битовая маска для извлечения кода клавиши из значения клавиши. |
L | 76 | Клавиша L. |
LaunchApplication1 | 182 | Клавиша запуска первого приложения. |
LaunchApplication2 | 183 | Клавиша запуска второго приложения. |
LaunchMail | 180 | Клавиша запуска приложения почты. |
LControlKey | 162 | Левая клавиша CTRL. |
Left | 37 | Клавиша СТРЕЛКА ВЛЕВО. |
LineFeed | 10 | Клавиша LINEFEED. |
LMenu | 164 | Левая клавиша ALT. |
LShiftKey | 160 | Левая клавиша SHIFT. |
LWin | 91 | Левая клавиша с логотипом Windows (клавиатура Microsoft Natural Keyboard). |
M | 77 | Клавиша M. |
MediaNextTrack | 176 | Клавиша "Следующая запись". |
MediaPlayPause | 179 | Клавиша приостановки воспроизведения. |
MediaPreviousTrack | 177 | Клавиша "Предыдущая запись". |
MediaStop | 178 | Клавиша остановки воспроизведения. |
Menu | 18 | Клавиша ALT. |
Modifiers | -65536 | Битовая маска для извлечения модификаторов из значения клавиши. |
Multiply | 106 | Клавиша умножения. |
N | 78 | Клавиша N. |
Next | 34 | Клавиша PAGE DOWN. |
NoName | 252 | Константа, зарезервированная для будущего использования. |
None | 0 | Нет нажатых клавиш. |
NumLock | 144 | Клавиша NUM LOCK. |
NumPad0 | 96 | Клавиша 0 на цифровой клавиатуре. |
NumPad1 | 97 | Клавиша 1 на цифровой клавиатуре. |
NumPad2 | 98 | Клавиша 2 на цифровой клавиатуре. |
NumPad3 | 99 | Клавиша 3 на цифровой клавиатуре. |
NumPad4 | 100 | Клавиша 4 на цифровой клавиатуре. |
NumPad5 | 101 | Клавиша 5 на цифровой клавиатуре. |
NumPad6 | 102 | Клавиша 6 на цифровой клавиатуре. |
NumPad7 | 103 | Клавиша 7 на цифровой клавиатуре. |
NumPad8 | 104 | Клавиша 8 на цифровой клавиатуре. |
NumPad9 | 105 | Клавиша 9 на цифровой клавиатуре. |
O | 79 | Клавиша O. |
Oem1 | 186 | Клавиша OEM 1. |
Oem102 | 226 | Клавиша OEM 102. |
Oem2 | 191 | Клавиша OEM 2. |
Oem3 | 192 | Клавиша OEM 3. |
Oem4 | 219 | Клавиша OEM 4. |
Oem5 | 220 | Клавиша OEM 5. |
Oem6 | 221 | Клавиша OEM 6. |
Oem7 | 222 | Клавиша OEM 7. |
Oem8 | 223 | Клавиша OEM 8. |
OemBackslash | 226 | Клавиша OEM с угловой скобкой или обратной косой чертой на клавиатуре RT со 102 клавишами. |
OemClear | 254 | Клавиша CLEAR. |
OemCloseBrackets | 221 | Клавиша OEM с закрывающей квадратной скобкой на клавиатуре со стандартной раскладкой "США". |
Oemcomma | 188 | Клавиша OEM с запятой на клавиатуре для любой страны или региона. |
OemMinus | 189 | Клавиша OEM со знаком минус на клавиатуре для любой страны или региона. |
OemOpenBrackets | 219 | Клавиша OEM с открывающей квадратной скобкой на клавиатуре со стандартной раскладкой "США". |
OemPeriod | 190 | Клавиша OEM с точкой на клавиатуре для любой страны или региона. |
OemPipe | 220 | Клавиша OEM с вертикальной чертой на клавиатуре со стандартной раскладкой "США". |
Oemplus | 187 | Клавиша OEM со знаком плюс на клавиатуре для любой страны или региона. |
OemQuestion | 191 | Клавиша OEM со знаком вопроса на клавиатуре со стандартной раскладкой "США". |
OemQuotes | 222 | Клавиша OEM с одинарной/двойной кавычкой на клавиатуре со стандартной раскладкой "США". |
OemSemicolon | 186 | Клавиша OEM с двоеточием на клавиатуре со стандартной раскладкой "США". |
Oemtilde | 192 | Клавиша OEM со знаком тильды на клавиатуре со стандартной раскладкой "США". |
P | 80 | Клавиша P. |
Pa1 | 253 | Клавиша PA1. |
Packet | 231 | Используется для передачи символов в Юникоде в виде нажатия клавиш. Значение клавиши пакета является младшим словом 32-разрядного виртуального значения клавиши, используемого для бесклавиатурных методов ввода. |
PageDown | 34 | Клавиша PAGE DOWN. |
PageUp | 33 | Клавиша PAGE UP. |
Pause | 19 | Клавиша PAUSE. |
Play | 250 | Клавиша ВОСПРОИЗВЕСТИ. |
42 | Клавиша PRINT. | |
PrintScreen | 44 | Клавиша PRINT SCREEN. |
Prior | 33 | Клавиша PAGE UP. |
ProcessKey | 229 | Клавиша PROCESS KEY. |
Q | 81 | Клавиша Q. |
R | 82 | Клавиша R. |
RControlKey | 163 | Правая клавиша CTRL. |
Return | 13 | Клавиша RETURN. |
Right | 39 | Клавиша СТРЕЛКА ВПРАВО. |
RMenu | 165 | Правая клавиша ALT. |
RShiftKey | 161 | Правая клавиша SHIFT. |
RWin | 92 | Правая клавиша с логотипом Windows (клавиатура Microsoft Natural Keyboard). |
S | 83 | Клавиша S. |
Scroll | 145 | Клавиша SCROLL LOCK. |
Select | 41 | Клавиша SELECT. |
SelectMedia | 181 | Клавиша выбора файла мультимедиа. |
Separator | 108 | Клавиша разделителя. |
Shift | 65536 | Клавиша SHIFT. |
ShiftKey | 16 | Клавиша SHIFT. |
Sleep | 95 | Клавиша перевода компьютера в спящий режим. |
Snapshot | 44 | Клавиша PRINT SCREEN. |
Space | 32 | Клавиша ПРОБЕЛ. |
Subtract | 109 | Клавиша вычитания. |
T | 84 | Клавиша T. |
Tab | 9 | Клавиша TAB. |
U | 85 | Клавиша U. |
Up | 38 | Клавиша СТРЕЛКА ВВЕРХ. |
V | 86 | Клавиша V. |
VolumeDown | 174 | Клавиша уменьшения громкости. |
VolumeMute | 173 | Клавиша выключения звука. |
VolumeUp | 175 | Клавиша увеличения громкости. |
W | 87 | Клавиша W. |
X | 88 | Клавиша X. |
Y | 89 | Клавиша Y. |
Z | 90 | Клавиша Z. |
Zoom | 251 | Клавиша МАСШТАБ. |
💡Совет
Для выбора клавиши нажмите ctrl+пробел, и начните вводить нужное имя:
Примеры
Ожидать нажатия клавиши
Wake up, Neo, select all
Clear-Host
Get-KeyState Z|Out-Null # Обнулить статус клавиши перед началом проверки
Write-Host "Ожидание нажатия клавиши Z" -ForegroundColor Green
while (!(Get-KeyState Z)) { # ждать пока не нажата клавиша Z
Start-Sleep -m 10
}
Show-MessageBox "Нажата клавиша Z" -Topmost|Out-NullУзнать зажата ли клавиша в момент вызова функции.
Wake up, Neo, select all
Clear-Host
while($true){
if((Get-KeyState Z) -eq 2){
Write-Host "Клавиша Z зажата" -ForegroundColor Cyan
}
else{
Write-Host "Клавиша Z не зажата" -ForegroundColor Red
}
Start-Sleep -Milliseconds 100
}Проверить включена ли клавиша CapsLock.
Wake up, Neo, select all
Clear-Host
if(Get-KeyState CapsLock -Toggle){
Write-Host "CapsLock включен" -ForegroundColor Cyan
}
else{
Write-Host "CapsLock выключен" -ForegroundColor Red
}Ожидать пока левая кнопка мыши будет зажата более двух секунд.
Wake up, Neo, select all
Clear-Host
Show-Hint "Зажмите левую кнопку мыши на 2 секунды`r`nЧтобы продолжить скрипт" -Name hint0 -Position 300, 100 -Duration 0 -Vision
while($true){
$time = (Get-Date).AddSeconds(2)
while( (Get-KeyState LButton) -and ($time - (Get-Date)).TotalMilliseconds -gt 0 ){
Write-Host "Левая кнопка мыши зажата $([math]::Round(($time - (Get-Date)).TotalMilliseconds))" -ForegroundColor Cyan
Start-Sleep -Milliseconds 50
}
if( ($time - (Get-Date)).TotalMilliseconds -le 0 ){
Write-Host "Левая кнопка мыши нажата больше 2 секунд" -ForegroundColor Green
break
}
Start-Sleep -Milliseconds 50
}
Close-Hint hint0
Write-Host "Дальше нужный код" -ForegroundColor Yellow