编译后不可预测的行为

Unpredictable behavior after compiling

所以我在 autoIT 中有脚本,它工作正常,但在编译成 exe 后有不同的行为,如脚本。

Run("C:\WINDOWS\system32\cmd.exe")
WinWaitActive("C:\WINDOWS\system32\cmd.exe")
send("ImporatntExecutable /regserver" & "{ENTER}")
send("regsvr32 Important.dll" & "{Enter}")

因此,脚本完美地执行了此命令,但 exe 是从脚本 no. 编译而来的。 exe 中的命令行看起来像:

rImportant.dll

reImportant.dll

这样的命令不存在,所以我收到错误,但是命令中的字符串是 regsvr32 Important.dll 而不是 rImportant.dllreImportant.dll。有什么想法吗?

以这种方式重写您的脚本:

Run("ImporatntExecutable /regserver")
Run("regsvr32 Important.dll")

你可以把它编译成exe。无需将击键发送到 cmd window.

如果你仍然需要将击键发送到 cmd window 出于任何原因(对我来说无法理解)你可以尝试 add this line 在你的脚本开头:

Opt ("SendKeyDelay", 500)

也许编译的脚本对于cmd来说太快了window。