本帖最后由 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 ... 6746&ptid=11076)。
具体Aut2exe.exe的参数,可以参照 AUTOIT3中文文档 里面的“使用autoit -->编译脚本”一节。 |