Send-Key



Нажать кнопку на клавиатуре
Параметры

  • -Key Название клавиши (список клавиш смотрите на странице https://psclick.ru/Get-KeyState)

  • -Down Зажать клавишу

  • -Delay Задержка между отправкой нажатий при зажатии клавиши

  • -Up Отпустить зажатую клавишу

  • -Hardware Выполнить действие через Arduino

  • -Handle Указатель окна

  • -Sleep Пауза в мсек после нажатия клавиши

Примеры

  1. Нажать клавишу.

    Wake up, Neo, select all

    Send-Key LWin # нажать левую клавишу Win
  2. Нажать клавишу.

    Wake up, Neo, select all

    Start-Sleep 3 # пауза 3 секунды, чтобы переключиться в нужное окно
    Send-Key a # нажать клавишу a
  3. Зажать шифт и нажать клавишу.

    Wake up, Neo, select all

    Start-Sleep 3 # пауза 3 секунды, чтобы переключиться в нужное окно
    Send-Key ShiftKey -Down # зажать шифт
    Send-Key a # нажать клавишу a
    Send-Key ShiftKey -Up # отпусить шифт
  4. Зажать клавишу на несколько секунд.

    Wake up, Neo, select all

    Start-Sleep 3 # пауза 3 секунды, чтобы переключиться в нужное окно
    Send-Key Z -Down # зажать клавишу z
    Start-Sleep 3 # пауза 3 секунды
    Send-Key Z -Up # отпустить клавишу z
  5. Зажать клавишу на несколько секунд с указанием времени между отправкой нажатий.

    Wake up, Neo, select all

    Start-Sleep 3
    Send-Key Z -Down -Delay 100 # зажать клавишу z с паузой 100 мсек между отправкой символов
    Start-Sleep 3
    Send-Key Z -Up
  6. Нажать клавишу в окне с указанным хендлом.

    Wake up, Neo, select all

    Send-Key Z -Handle 2294870 # нажать клавишу в окне с указанным хендлом
  7. Найти окно блокнота и отправить нажатие клавиши. Окно может быть перекрыто другими окнами.

    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
    }
  8. Найти окно и отправить нажатие клавиши. Окно может быть перекрыто другими окнами.

    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 # остановить скрипт
    }
  9. Найти окно блокнота, выделить весь текст, скопировать в буфер, получить текст в переменную.

    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

  1. Нажать клавишу.

    Wake up, Neo, select all

    Start-Sleep 3 # пауза 3 секунды, чтобы переключиться в нужное окно
    Send-Key a -Hardware # нажать клавишу a
  2. Зажать шифт и нажать клавишу.

    Wake up, Neo, select all

    Start-Sleep 3 # пауза 3 секунды, чтобы переключиться в нужное окно
    Send-Key LShiftKey -Down -Hardware # зажать шифт
    Send-Key a -Hardware # нажать клавишу a
    Send-Key LShiftKey -Up -Hardware # отпусить шифт
  3. Зажать клавишу на несколько секунд.

    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