Есть ли способ нажать на кнопку в приложении, используя powershell - PullRequest
0 голосов
/ 10 мая 2019

используя код PowerShell, я хотел бы открыть приложение и нажать на любую опцию. как открыть Notepad ++ и нажать на файл -> новый

Это независимый скрипт, который запускается в консоли powershell

Я пытался взять дескриптор окна Notepad ++, как это

$WindowHandle = Get-Process | Where-Object { $_.MainWindowTitle -Match $WindowTitle } | Select-Object -ExpandProperty MainWindowHandle

но я не могу нажать на нее.

чтобы открыть Блокнот ++

start-process "C:\Program Files\Notepad++\notepad++.exe"

захватить окно

 $WindowHandle = Get-Process | Where-Object { $_.MainWindowTitle -Match $WindowTitle } | Select-Object -ExpandProperty MainWindowHandle

любой фрагмент кода, который может помочь мне захватить элемент управления в блокноте ++ и щелкнуть мышью по параметрам или кнопкам.

1 Ответ

0 голосов
/ 10 мая 2019

Если все действия, которые вы хотите выполнить, имеют ярлык, вы можете просто отправить ключи в окно.

Например, чтобы открыть новый файл, вы можете использовать CTRL + N

start-process "C:\Program Files\Notepad++\notepad++.exe"
$WindowHandle = Get-Process | Where-Object { $_.MainWindowTitle -Match $WindowTitle } | Select-Object -ExpandProperty MainWindowHandle

[void][System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms')
[System.Windows.Forms.SendKeys]::SendWait("^{n}")

РЕДАКТИРОВАТЬ: Когда вы нажимаете ALT в Notepad ++, он покажет вам ярлыки, которые можно использовать для открытия различных меню.

enter image description here

Дляоткрыть File, вы можете использовать ALT+F (F подчеркнут, что означает, что это ярлык).После этого вы можете перемещаться вниз / вверх с помощью клавиш, чтобы выбрать то, что вы хотите.Такое поведение есть у большинства приложений.

Кроме того, в Notepad ++ вы также можете сопоставить практически любое действие с комбинацией клавиш.Однако это означает, что ваш скрипт работает только на вашем ПК с вашими настройками.

enter image description here

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