我开始用AutoIT V3编写这样的代码
$file = "G:\FullSetup800203.exe"
ShellExecuteWait($file)
Sleep(75000)
WinWaitActive("M1 Setup")
Send("!n")
一切正常但发送命令不起作用。
我使用的是Windows 7 64位计算机。
答案 0 :(得分:3)
我可能错了,但是当你不想ShellExecuteWait
时,我觉得你正在使用Wait
。
现在正在发生的事情是你正在运行文件并等待它关闭,一旦进程退出,你再等待75秒,然后等待某个窗口激活然后发送字符。那是你的意图吗?
send命令总是发送密钥。说它“不起作用”是不对的,它只是做你期望的那样。
答案 1 :(得分:0)
$file = "G:\FullSetup800203.exe"
ShellExecute($file)
Sleep(75000)
WinWaitActive("M1 Setup")
Send("!{n}")
试试。
答案 2 :(得分:0)
经过长时间的搜索,为什么脚本适用于Windows XP,而不是Windows 7 64位,我发现了原因。 在Windows 7上,AutoIt脚本必须以管理员身份运行,以便为某些应用程序发送击键和访问控制。
答案 3 :(得分:0)
将管理员添加到cmd.exe的开头 ControlSend(“管理员:C:\ Windows \ system32 \ cmd.exe”,“”,“”,“cd C:\ Program Files(x86)\ thefile”)@ SW_SHOW)