Send-Key
Нажать кнопку на клавиатуре
Параметры
-Key Название клавиши (список клавиш смотрите на странице https://psclick.ru/Get-KeyState)
-Down Зажать клавишу
-Delay Задержка между отправкой нажатий при зажатии клавиши
-Up Отпустить зажатую клавишу
-Hardware Выполнить действие через Arduino
-Handle Указатель окна
-Sleep Пауза в мсек после нажатия клавиши
Примеры
Нажать клавишу.
Wake up, Neo, select all
Send-Key LWin # нажать левую клавишу Win
Нажать клавишу.
Wake up, Neo, select all
Start-Sleep 3 # пауза 3 секунды, чтобы переключиться в нужное окно
Send-Key a # нажать клавишу aЗажать шифт и нажать клавишу.
Wake up, Neo, select all
Start-Sleep 3 # пауза 3 секунды, чтобы переключиться в нужное окно
Send-Key ShiftKey -Down # зажать шифт
Send-Key a # нажать клавишу a
Send-Key ShiftKey -Up # отпусить шифтЗажать клавишу на несколько секунд.
Wake up, Neo, select all
Start-Sleep 3 # пауза 3 секунды, чтобы переключиться в нужное окно
Send-Key Z -Down # зажать клавишу z
Start-Sleep 3 # пауза 3 секунды
Send-Key Z -Up # отпустить клавишу zЗажать клавишу на несколько секунд с указанием времени между отправкой нажатий.
Wake up, Neo, select all
Start-Sleep 3
Send-Key Z -Down -Delay 100 # зажать клавишу z с паузой 100 мсек между отправкой символов
Start-Sleep 3
Send-Key Z -UpНажать клавишу в окне с указанным хендлом.
Wake up, Neo, select all
Send-Key Z -Handle 2294870 # нажать клавишу в окне с указанным хендлом
Найти окно блокнота и отправить нажатие клавиши. Окно может быть перекрыто другими окнами.
Wake up, Neo, select all
Clear-Host # очистить консоль
$h = Find-Window -Title "блокнот" # найти все окна блокнота по части имени
if ($h.count -gt 0) { # если найдено
Write-Host "Окно найдено" -ForegroundColor Green
Write-Host $h.handle[0] -ForegroundColor Yellow
$h_edit = Get-ChildWindows $h.handle[0] | Where-Object {$_.Class -eq "Edit"} # найти окно имеющее класс edit
Write-Host $h_edit.Handle -ForegroundColor Yellow
Send-Key s -Handle $h_edit.Handle # нажать клавишу s
}
else {
Write-Host "Окно не найдено" -fore Red
}Найти окно и отправить нажатие клавиши. Окно может быть перекрыто другими окнами.
Wake up, Neo, select all
Clear-Host # очистить консоль
$h = Find-Window -Class "l2UnrealWWindowsViewportWindow" # найти окно по имени класса окна
if ($h.count -gt 0) { # если найдено
Write-Host "Окно найдено" -ForegroundColor Green
Write-Host $h.handle[0] -ForegroundColor Yellow
Send-Key s -Handle $h.handle[0] # нажать клавишу s
}
else {
Write-Host "Окно не найдено" -ForegroundColor Red
return # остановить скрипт
}Найти окно блокнота, выделить весь текст, скопировать в буфер, получить текст в переменную.
Wake up, Neo, select all
Clear-Host
$h = Find-Window -Title "блокнот" # найти окно, в имени которого содержится слово блокнот
if(!$h){ # если окно не найдено
Write-Host "Окно не найдено" -ForegroundColor Red
Stop-Script # остановить скрипт
}
Set-ForegroundWindow $h.handle[0]
Pause-Script 300
# выделить текст в блокноте, нажать Ctrl+A
Send-key ControlKey -Down
Send-Key A
Send-key ControlKey -Up
Pause-Script 300
# скопировать выделенный текст в буфер, нажать Ctrl+C
Send-key ControlKey -Down
Send-Key C
Send-key ControlKey -Up
Pause-Script 300
# получить текст из буфера обмена
$text = Get-Clipboard -Raw
Write-Host $text
Примеры с использованием Arduino
Нажать клавишу.
Wake up, Neo, select all
Start-Sleep 3 # пауза 3 секунды, чтобы переключиться в нужное окно
Send-Key a -Hardware # нажать клавишу aЗажать шифт и нажать клавишу.
Wake up, Neo, select all
Start-Sleep 3 # пауза 3 секунды, чтобы переключиться в нужное окно
Send-Key LShiftKey -Down -Hardware # зажать шифт
Send-Key a -Hardware # нажать клавишу a
Send-Key LShiftKey -Up -Hardware # отпусить шифтЗажать клавишу на несколько секунд.
Wake up, Neo, select all
Start-Sleep 3 # пауза 3 секунды, чтобы переключиться в нужное окно
Send-Key Z -Down -Hardware # зажать клавишу z
Start-Sleep 3 # пауза 3 секунды
Send-Key Z -Up -Hardware # отпустить клавишу z