2007年6月21日星期四

AutoIt的学习与开发心得

AutoIt3是一个Windows平台下的自动脚本工具,其脚本语言接近VBScript,但拓展了许多Windows平台的有效功能,如窗体控制、DLL调用、网络开发等。我下载了AutoIt3并进行了短期学习,开发了一个简单的脚本程序,用来在TotalCmd中调用创建一个Readme.txt文档。以前我经常手动创建这样的文档很烦人,而现在看着屏幕上一闪而过的Notepad,自有一种欣慰。
下面是程序脚本:
#cs ----------------------------------------------------------------------------
AutoIt 版本: 3.2.3.14第一版)
脚本作者: yankchina@gmail.com
Email: yankchina@gmail.com
QQ/TM:
脚本版本: 1.0
脚本功能: 新建一个名为Readme.txt的文档,并在文档首部写入日期和作者信息

#ce ----------------------------------------------------------------------------

; 脚本开始 - 在这后面添加您的代码.
Dim $AuthorInfor = "yankchina@gmail.com " ;作者信息
Dim $ReadmeFilePath = "F:\CacheTemp\" ; 默认保存路径
;如果有命令行参数,则取第一个命令行参数为文件保存位置
if $CmdLine[0] > 0 Then
$ReadmeFilePath = $CmdLine[1]
EndIf
Dim $ReadmeFileName = $ReadmeFilePath & "readme.txt"
;判断文件是否存在
Dim $FileIsExist = FileExists( $ReadmeFileName )
;以写模式打开文件,并写入题头信息
$file = FileOpen($ReadmeFileName,1)
; 检查文件是否正常打开
If $file = -1 Then
MsgBox(0, "错误", "无法打开目标文件"&$ReadmeFileName)
Exit
EndIf
;写入标题信息
if not $FileIsExist Then
FileWriteLine($file,"帮助说明文档")
FileWriteLine($file,$AuthorInfor)
EndIf
FileWriteLine($file,"")
FileWriteLine($file, getCommentLine("-",40) )
FileWriteLine($file,@YEAR&"-"&@MON&"-"&@MDAY&" "&@HOUR&":"&@MIN)

FileClose($file)
;运行记事本程序
Run("notepad.exe "& $ReadmeFileName) ;运行记事本程序
if WinWaitActive("readme.txt - 记事本") Then
Send("^{END}") ;下移到文件底部
Send("!+0") ;开启中文输入法
EndIf
;--------------------------------------------------------------------------
;获取一个注释字符串列
Func getCommentLine($CmtChar,$CmtNumber)
$ResultStr = ""
For $i = 0 to $CmtNumber -1
$ResultStr = $ResultStr & $CmtChar
Next
Return $ResultStr
EndFunc
;---------------------------------------------------------------------------

用AutoIt自带工具编译成exe文档后,在TotalCmd中设置一个自定义命令,参数是
%P,这样就可方便地在当前活动目录中创建Readme.txt文件了。