使用PowerShell模拟Windows窗体中的按钮单击。

时间:2016-03-23 20:07:22

标签: c# windows powershell

我在Visual Studio中使用C#编写了一个基本的Windows窗体应用程序,它有一些按钮可以打开带有更多按钮的窗口。它没有做任何有用的事情,我使用它来尝试使用PowerShell模拟一系列按钮按下。

我正在尝试学习powershell,我一直在网上看看如何使用powershell打开windows form exe然后单击表单上的按钮,然后单击弹出窗口中的另一个按钮起来。

到目前为止,我可以打开可执行文件,但这非常简单。

我正在考虑使用sendkeys方法。也许我可以将键盘快捷键与按钮相关联,然后在这些快捷键中使用powershell类型。

或者当exe打开时,powershell会在标签上点击一定次数,直到按钮被聚焦,然后点击进入。

我确信有一种更简单的方法可以做到这一点。任何指导或指示将不胜感激。

1 个答案:

答案 0 :(得分:0)

从PowerShell执行此操作的最佳方法是更改​​C#中的按钮文本以在文本中使用&包含快捷键,对于显示“Open Form”的按钮,您可以设置文本到Open &FormAlt + F会通过快捷方式点击按钮。

来源:Creating Access Keys for Windows Forms Controls

然后,从您的PowerShell脚本中,您只需使用SendKeys模拟Alt + F点击该按钮。

TechNet的修改示例:

[void] [System.Reflection.Assembly]::LoadWithPartialName("'Microsoft.VisualBasic")
[Microsoft.VisualBasic.Interaction]::AppActivate("<NAME OF YOUR APPLICATION>")

[void] [System.Reflection.Assembly]::LoadWithPartialName("'System.Windows.Forms")
[System.Windows.Forms.SendKeys]::SendWait("%F")

来源:Windows Script Host SendKeys Method