【问题标题】:Simulate button clicks in a windows form using powershell.使用 powershell 在 Windows 窗体中模拟按钮单击。
【发布时间】:2016-03-23 20:07:21
【问题描述】:

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

我正在努力学习powershell,我一直在网上寻找如何使用powershell打开windows form exe然后点击表单上的一个按钮,然后在弹出的窗口中点击另一个按钮。

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

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

或者当exe打开时,powershell点击tab一定次数,直到按钮获得焦点,然后点击回车。

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

【问题讨论】:

  • 这是一个重复的问题。请谷歌搜索答案。

标签: c# windows powershell


【解决方案1】:

从 PowerShell 执行此操作的最佳方法是更改​​ C# 中的按钮文本以包含快捷键,方法是在文本中使用 &,对于显示“打开表单”的按钮,您可以将文本设置为 @ 987654324@ 这将使Alt + 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-10
    • 2011-06-11
    • 2010-12-16
    • 2021-10-25
    • 2017-07-13
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多