脚本运行正常,可是编译后出现问题
本帖最后由 zzfbz 于 2009-4-24 20:13 编辑脚本运行正常,可是编译后出现问题:编译后的文件只有259k,一运行就在任务栏出现无数个AU图标,只好注销电脑.请教问题出在哪?
我想问题应该不是出在脚本本身,那么应该怎样编译呢? 编译后的文件名是什么?是否脚本中调用的外部程序跟脚本文件名冲突了?
比如你的文件名是net.exe,脚本中又调用了命令行程序net,而且是用相对路径调用的。那么完蛋,调用复调用,调用何其多。。。
良好的习惯是尽可能用绝对路径,少用相对路径。 脚本名和原程序名都是FlashPlayer,编译后名fp.exe
run('FlashPlayer.exe')
$hd="安装 - Baby Flash播放器"
WinWaitActive($hd,"欢迎使用 Baby Flash播放器")
send("!n")
WinWaitActive($hd,"选择目标位置")
ControlSetText($hd,"","TEdit1","D:\Program Files\FlashPlayer")
send("!n")
WinWaitActive($hd,"选择开始菜单文件夹")
send("!n")
WinWaitActive($hd,"选择附加任务")
send("!d")
send("!n")
WinWaitActive($hd,"安装程序现在准备开始")
send("!i")
WinWaitActive($hd,"完成 Baby Flash播放器 安装向导")
send("{space}")
send("!f") 软件的安装过程根本就没有出现,只有图标不停在任务栏地增多。 良好的习惯是尽可能用绝对路径,少用相对路径。
如果用绝对路径,那把编译后的软件拿到另外的电脑上安装是不是会有限制,比如要放到固定的位置才能自动安装?请指教! 原exe安装程序有6M,而编译后的exe文件却只有259K,这绝对是有问题 我前几天曾经用相同的方法编译成功过,可是今天换了3台电脑都不行,这3台电脑安装的autoit可能都是一样的,会不会是AT软件的问题? FlashPlayer.exe 是用FileInstall安装还是独立于脚本?放在哪个路径? 本帖最后由 sensel 于 2009-4-22 22:07 编辑
如果FlashPlayer.exe是跟脚本文件放在一个文件夹,使用 @ScriptDir & "\FlashPlayer.exe" 试试
另外,看看任务管理器里是否存在多个fp.exe? FlashPlayer.exe是跟脚本文件放在一个文件夹, @ScriptDir & "\FlashPlayer.exe"这句加在哪儿?不好意思,初学,帮助文档中也没找到详细说明 本帖最后由 sensel 于 2009-4-22 22:52 编辑
原exe安装程序有6M,而编译后的exe文件却只有259K,这绝对是有问题
zzfbz 发表于 2009-4-22 21:49 http://www.autoitx.com/images/common/back.gif
如果你没有使用FileInstall,原文件并没有被包含进编译后的脚本文件,那么编译后文件不大是正常的。
你试过直接运行FlashPlayer.exe吗?上面给出的代码是否完整?
@ScriptDir 在帮助文件的宏一章有说明,代表当前运行脚本所在路径。run('FlashPlayer.exe') 改成 run(@ScriptDir & '\FlashPlayer.exe')。WinWaitActive应该用WinWait。用ControlClick或ControlCommand代替send。
检查你的FlashPlayer.exe,因为你的脚本名也是FlashPlayer,我很怀疑你不小心用直接编译覆盖了它。 本想找个帖子回复玩玩来,但SENSEL回复很好,就算了。。帮楼主感谢。。
PS:我太无聊了,11点了,没事干,唉。。 12# llztt
给点参考意见啊,真心请教 你参照sensel 的回复,应该很容易发现问题所在啊。。
你脚本名、编译名、欲运行程序名,都冲突,这本身就是坏习惯。。试着建立新目录,把脚本+欲运行程序放到里面,修改三者名字都不一样,测试再测试。。 要学会测试啊,譬如,可以单独运行程序,看能否正常运行。。或拷贝一个notepad.exe去替代欲运行程序,测试。。
学会怎么找到问题所在,是提高AU3水平的好办法哦。。 1、直接运行FlashPlayer.exe了,无异常;
2、把脚本和FlashPlayer.exe放在一个文件夹,运行脚本,自动安装也正常;
3、上面发的代码是编译前的完整代码
4、run('FlashPlayer.exe') 改成 run(@ScriptDir & '\FlashPlayer.exe'),编译后的文件还是259K;
5、能具体讲讲FileInstall的用法吗?或者把上面代码帮我修改一下
谢谢各位了!