有没有办法使用Powershell在应用程序中单击按钮

时间:2019-05-10 10:46:31

标签: windows powershell

使用powershell代码,我想打开应用程序,然后单击任何选项。例如打开记事本++,然后单击文件->新建

这是在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

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

1 个答案:

答案 0 :(得分:0)

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

例如,打开一个新文件,您可以使用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}")

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

enter image description here

要打开File,可以使用ALT+F(带F的下划线表示这是捷径)。 之后,您可以使用键向下/向上导航以选择所需的内容。大多数应用程序都会有这种行为。

此外,在Notepad ++中,您还可以将几乎所有操作映射到按键组合。但是,这意味着您的脚本只有在您进行设置的情况下才能在PC上运行。

enter image description here