梦想吧技术论坛's Archiver

似水年华 发表于 2007-4-22 07:00 PM

AU3-自动刻录光盘(Nero)

#cs ----------------------------------------------------------------------------

AutoIt Version: 3.1.1.0
Author:         bianbian  [url]http://bianbian.sunshow.net[/url]

Script Function:
     控制Nero Express 6自动刻录.

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

$MAX_SIZE = 4483 ;DVD5最大容量:4483M

;检查大小,看是否需要刻录
$path = RegRead("HKEY_CURRENT_USER\Software\yuelinniao\FY2C", "savePath")
$size = DirGetSize($path, 2) / 1024 / 1024 ;单位:M
IF $size < $MAX_SIZE Then
    Exit
EndIf

; 运行nero
$nero = RegRead("HKEY_CURRENT_USER\Software\Ahead\Nero - Burning Rom\General", "RegisteredTypesNeroPath")
$cmd = StringFormat('"%s" "%s\\BurnDVD.nri"', $nero, $path)
Run($cmd)
Sleep(5000)
WinWaitActive("Nero Express", "添加 (&A)...")

; 写入初始路径 并 打开添加文件对话框
RegWrite("HKEY_CURRENT_USER\Software\Ahead\Nero - Burning Rom\General", "OFDLastISODir", "REG_SZ", StringFormat("4,%s", $path))
ControlClick("Nero Express", "添加 (&A)...", "Button12") ;添加
Sleep(5000)

;添加所有rar文件
;WinActivate("选择文件及文件夹", "添加 (&A)...")
ControlFocus("选择文件及文件夹", "添加 (&A)...", "SysListView321")
$count = ControlListView("选择文件及文件夹", "添加 (&A)...", "SysListView321", "GetItemCount")
ControlListView("选择文件及文件夹", "添加 (&A)...", "SysListView321", "Select", 1, $count - 1)
ControlClick("选择文件及文件夹", "添加 (&A)...", "Button1") ;添加
Sleep(5000)
ControlClick("选择文件及文件夹", "添加 (&A)...", "Button2") ;已完成

;容量调整,每次移除最后一个文件
While Number(ControlGetText("Nero Express", "添加 (&A)...", "Static9")) > $MAX_SIZE
    $count = ControlListView("Nero Express", "添加 (&A)...", "SysListView321", "GetItemCount")
    ControlListView("Nero Express", "添加 (&A)...", "SysListView321", "Select", $count - 1)
    ControlClick("Nero Express", "添加 (&A)...", "Button13") ;删除
    Sleep(200)
    ControlClick("Nero Express", "是否移除选择项目?", "Button1") ;移除文件会弹出一个确认框
    Sleep(300)
WEnd

;下一步
WinActivate("Nero Express", "添加 (&A)...")
ControlClick("Nero Express", "添加 (&A)...", "Button8") ;下一步
Sleep(5000)

;选择刻录速度(我们选择第二速度)并开始刻录
ControlCommand("Nero Express", "最终刻录设置", "ComboBox3", "SetCurrentSelection", 1)
;;;;;;;MsgBox(4096, "Tip", "starting....", 2000)
ControlClick("Nero Express", "最终刻录设置", "Button8") ;下一步

;等待刻录8分钟,然后检查弹出对话框
Sleep(480000)
Opt("WinTitleMatchMode", 4)      ;1=开头, 2=子串, 3=完全, 4=高级
$NERO_FLAG = "classname=#32770" ;nero 窗体标记
WinWait($NERO_FLAG, "KB/s)的速度刻录完毕")
ControlClick($NERO_FLAG, "KB/s)的速度刻录完毕", "Button1")

;再按一次“下一步”,弹出光盘
Sleep(1000)
ControlClick($NERO_FLAG, "刻录过程成功完成", "Button8") ;下一步

;"退出"
Sleep(5000)
ControlClick($NERO_FLAG, "您想要做什么", "Button8

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.