为什么 window 不接受 sendkeys 发送的密钥?
Why won't a window take keys sent by sendkeys?
我正在尝试构建一个 Powershell 脚本,以便自动安装我正在使用的程序(不幸的是,该程序没有静默安装程序)。
问题是安装程序 window 不会接受 sendkeys 发送的密钥:如果我只是按 enter,它就会工作,并且将带有 sendkeys 的 enter 发送给任何其他 window 也可以,但是发送 enter 使用向特定安装程序发送密钥 window 不会执行任何操作。以前有没有人遇到过这个问题并知道如何解决?我尝试使用的脚本如下:
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('~');
P.S
这不是时间问题:我试过更改睡眠时间,但这没有任何用处。
谢谢!
您只需要 运行 该脚本作为管理员。因为很多时候即使我们拥有管理员权限,脚本也无法执行 winForms 或其他东西的功能。
因此,以管理员身份 运行 该脚本是一个好习惯(运行 作为管理员)。
我正在尝试构建一个 Powershell 脚本,以便自动安装我正在使用的程序(不幸的是,该程序没有静默安装程序)。 问题是安装程序 window 不会接受 sendkeys 发送的密钥:如果我只是按 enter,它就会工作,并且将带有 sendkeys 的 enter 发送给任何其他 window 也可以,但是发送 enter 使用向特定安装程序发送密钥 window 不会执行任何操作。以前有没有人遇到过这个问题并知道如何解决?我尝试使用的脚本如下:
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('~');
P.S 这不是时间问题:我试过更改睡眠时间,但这没有任何用处。
谢谢!
您只需要 运行 该脚本作为管理员。因为很多时候即使我们拥有管理员权限,脚本也无法执行 winForms 或其他东西的功能。 因此,以管理员身份 运行 该脚本是一个好习惯(运行 作为管理员)。