Отправка ключей в Powershell alt + n {TAB} {ENTER} - PullRequest
0 голосов
/ 05 марта 2019

Я нахожусь в процессе автоматизации ежедневной загрузки zip-файла с защищенного сайта.Сценарий готов, который использует интернет-обозреватель для входа в систему и перехода в нужное место, а затем нажмите кнопку загрузки, сценарий работает, как и ожидалось, до этого момента.

После нажатия кнопки загрузки он предлагает нажать кнопку сохранения.Пробовали с ключами отправки с ниже

$wshell = New-Object -ComObject WScript.Shell    
$id = (gps iex* | where {$_.MainWindowTitle -match "Title"}).id    
$wshell.AppActivate($id)    
start-sleep 1    
$wshell.SendKeys("%{n}")    
Start-Sleep 1  

хотите отправить ключи (Alt + n + TAB + ENTER), пытались изменить несколько вещей, но в итоге получили тот же результат.

1 Ответ

0 голосов
/ 05 марта 2019

Чтобы эмулировать ключи отправки, которые вы хотите использовать System.Windows.Forms.SendKeys class.

Знак плюс (+), символ каретки (^), знак процента (%), тильда (~) и скобки() имеют особые значения для SendKeys.Чтобы указать один из этих символов, заключите его в фигурные скобки ({})

В вашем случае, согласно документации, пример кода должен выглядеть следующим образом:

Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.SendKeys]::SendWait("%n{TAB}{ENTER}")

Где:

  • % обозначает кнопку ALT;
  • n обозначает кнопку n;
  • {TAB} обозначает кнопку TAB;
  • {ENTER} обозначает кнопку ENTER.

Пожалуйста, следуйте странице документации, чтобы увидеть полный список доступных опций здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...