有没有办法使用 powershell 单击应用程序中的按钮

sur*_*dra 6 windows powershell

使用 powershell 代码我想打开应用程序并单击任何选项。就像打开 Notepad++ 并单击文件 --> 新建

这是在 powershell 控制台中运行的独立脚本

我试图像这样抓住 Notepad++ 窗口句柄

$WindowHandle = Get-Process | Where-Object { $_.MainWindowTitle -Match $WindowTitle } | Select-Object -ExpandProperty MainWindowHandle
Run Code Online (Sandbox Code Playgroud)

但我无法点击它。

打开记事本++

start-process "C:\Program Files\Notepad++\notepad++.exe"
Run Code Online (Sandbox Code Playgroud)

抓住窗户

 $WindowHandle = Get-Process | Where-Object { $_.MainWindowTitle -Match $WindowTitle } | Select-Object -ExpandProperty MainWindowHandle
Run Code Online (Sandbox Code Playgroud)

任何可以帮助我抓住记事本++上的控件并单击选项或按钮的代码片段。

Mic*_* B. 2

如果您想要执行的所有操作都有快捷方式,您只需将按键发送到窗口即可。

例如要打开一个新文件,您可以使用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}")
Run Code Online (Sandbox Code Playgroud)

编辑:当您ALT在 Notepad++ 中按时,它会显示可用于打开不同菜单的快捷方式。

在此输入图像描述

要打开File,您可以使用ALT+F(F 带下划线,意味着这是快捷方式)。之后,您可以使用按键向下/向上导航来选择您想要的内容。大多数应用程序都会有这种行为。

除此之外,在 Notepad++ 中,您还可以将几乎任何操作映射到组合键。但是,这意味着您的脚本只能在您的 PC 上按照您的设置运行。

在此输入图像描述