如何将值传递给exe然后下一个按钮应该由powershell执行?

时间:2017-11-12 18:52:01

标签: powershell powershell-v2.0 powershell-v3.0 powershell-v4.0

我有下面的代码执行一个exe文件,然后我想将分配给变量的路径复制到该exe的文本框中,一旦复制,那么exe中的下一个按钮应该被点击\由powershell自动执行。

& "D:\SOFTWARE\notepad ++.exe"
$Path="C:\Program Files"

基本上我会将这段代码用于其他一些exe文件,但过程会相同。那么有什么方法可以通过使用PowerShell来实现这一点吗?

Consider an example of an image below

考虑下面安装的应用程序UI的快照。如果我想传递我在powershell中的变量中声明的产品密钥,然后将其传递给应用程序,然后我想要它的Get Product Details按钮被命中\ Run。 Snapshot of application UI where i want value to be copied and button to be executed

2 个答案:

答案 0 :(得分:0)

你真正想要的是通过在没有UI的情况下安静地运行变量来将变量传递给msi。首先尝试以下(假设您的exe实际上只是一个MSI包装器)

msiexec.exe /i $PathToExe /q /l*vx log.txt

这应该安静地启动msi并生成一个log.txt文件。等待一会儿它完成,因为它在后台安装。然后检查它是否正确安装。然后检查日志文件以查看最后设置的所有变量。根据他们的名字或值进行猜测,然后只需将variablename=variablevalue添加到命令行调用,就可以在下次传递它们。您可能需要尝试并学习一些关于MSI和msiexec的内容。

如果谈论一般调用UI动作,那么你需要查看AutomationElement类,但这里可能会变得非常复杂......

答案 1 :(得分:0)