jinyue115 发表于 2011-7-26 13:53:38

(已解决)有没有一个函数是关于自动编译的?

本帖最后由 jinyue115 于 2011-7-29 14:50 编辑

if not @compiled then
编译这个au3成exe文件
else
@error
endif

有没有这样的功能?当运行这个au3没有编译的话 自动编译?

daiyu116 发表于 2011-7-26 19:36:04

本帖最后由 daiyu116 于 2011-7-26 20:13 编辑

回复 1# jinyue115
帮你顶吧,顺便想了一下我的思路。

#include <Process.au3>
#Include <File.au3>

_FileCreate(@ScriptDir&".\test.ini")

if @Compiled=0 then
        IniWrite(@ScriptDir&"\test.ini","test","code","1")
        $AutoItASC="C:\Program Files\autoit3\Aut2Exe\Aut2exe.exe"
        RunWait($AutoItASC & " /In "&@ScriptFullPath)
        MsgBox(0,"提示",@ScriptFullPath&" "&@error)
else
        $value=IniRead(@ScriptDir&"\test.ini","test","code","0")
        If $value=0 Then
                MsgBox(0,"提示","在编译好后才运行")
        ElseIf $value=1 Then
                MsgBox(0,"提示","编译前运行过至少一次")
        EndIf
endif


测试有两种方法:
1、用sciTE打开脚本,直接F7编译,然后运行生成的exe,看弹出的msgbox值
2、用sciTE打开脚本,按F5运行,然后运行生成的exe,看弹出的msgbox值,这时候msgbox上显示的值和第一种方法是不一样的。
(由于sciTE本身编译的问题,非常偶尔的可能会出现一点问题(如下),但重新F5运行就可以了,
据下面这篇帖子说是Application Experience服务关掉的原因
http://www.autoitx.com/forum.php?mod=redirect&goto=findpost&pid=126746&ptid=11076)。

具体Aut2exe.exe的参数,可以参照 AUTOIT3中文文档 里面的“使用autoit -->编译脚本”一节。

jinyue115 发表于 2011-7-29 14:50:06

回复 2# daiyu116


    非常感谢!!!

daiyu116 发表于 2011-7-29 15:23:39

回复 3# jinyue115

客气。能帮到你也是帮到我自己~呵呵我也是想出来的

jinyue115 发表于 2011-8-1 09:33:11

呵呵呵。。。

jinyue115 发表于 2011-8-8 10:21:08

没钱了!不能悬赏了!

z761003 发表于 2011-11-11 00:53:44

正是我想要的
页: [1]
查看完整版本: (已解决)有没有一个函数是关于自动编译的?