【发布时间】:2016-03-23 16:35:41
【问题描述】:
我正在尝试构建一个 Powershell 脚本,以便自动安装我正在使用的程序(不幸的是,该程序没有静默安装程序)。 问题是安装程序窗口不会接受 sendkeys 发送的密钥:如果我只是按 enter 它将起作用,并且使用 sendkeys 将 enter 发送到任何其他窗口也可以,但是使用 sendkeys 将 enter 发送到该特定安装程序窗口不会'不做任何事。有没有人遇到过这个问题并且知道如何解决它?我尝试使用的脚本如下:
add-type -AssemblyName microsoft.VisualBasic
add-type -AssemblyName System.Windows.Forms
./installer.exe
start-sleep 1
[Microsoft.VisualBasic.Interaction]::AppActivate('select setup language')
start-sleep 1
[System.Windows.Forms.SendKeys]::SendWait('~');
附言 这不是时间问题:我尝试更改睡眠时间,但这没有任何好处。
谢谢!
【问题讨论】:
-
安装程序是否被提升,而 powershell 脚本不是?请注意,您不能在具有不同权限级别的窗口之间拖放(例如)。
-
@briantist - 感谢您的评论。我不确定我理解你的意思 - 当脚本发送回车键时,安装程序具有焦点。
-
您的脚本是否在管理员模式下运行?如果不是,请以管理员权限运行该脚本,即使您是该系统的管理员。
-
@AjitMedhekar 做到了!多谢! (希望我可以将评论标记为解决方案。如果您将其添加为答案,那就太好了,这样人们将来会看到它:)
标签: powershell automation installation sendkeys