发送命令不会在自动脚本中发送密钥

时间:2011-11-30 09:21:52

标签: autoit

我开始用AutoIT V3编写这样的代码

$file = "G:\FullSetup800203.exe"

ShellExecuteWait($file)

Sleep(75000)

WinWaitActive("M1 Setup")

Send("!n")

一切正常但发送命令不起作用。

我使用的是Windows 7 64位计算机。

4 个答案:

答案 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)