level 1
lainline1
楼主
$g_szVersion = "My Script 1.1"If WinExists($g_szVersion) Then WinKill("My Script 1.1")AutoItWinSetTitle($g_szVersion);防止多个脚本运行winkill("多功能阅览器");防止多个扫描程序运行$aaa = RegRead ( "HKEY_LOCAL_MACHINE\SOFTWARE\KME\Multi-Function Station","DefaultDir") ;获取扫描程序路径Run( $aaa & "\Viewer.exe") ;运行扫描程序WinWait("多功能阅览器")$number = RegRead ( "HKEY_LOCAL_MACHINE\SOFTWARE\KME\Multi-Function Station","number") ;读扫描序号if @error then RegWrite ( "HKEY_LOCAL_MACHINE\SOFTWARE\KME\Multi-Function Station","number","REG_DWORD","1") ;初始化扫描序号$name="" ;上次扫描文件注释$nameX="" ;本次扫描文件注释$va2="" ;一次性扫描的张数$ooo=0 ;为1表示更换文件注释$nnn=0 ;程序开始后的扫描次数$MyDocsFolder = "::{450D8FBA-AD25-11D0-98A8-0800361B1103}"$Docs=$MyDocsFolder ;变量初始化do$nnn=$nnn+1 WinSetState ( "Windows 文件保护", "", @SW_HIDE ) WinSetState ( "多功能阅览器", "", @SW_HIDE ) WinMenuSelectItem("多功能阅览器", "", "文件(&F)", "扫描(&N)" ) WinWait("Panasonic FLM553/FLB753 系列") ControlClick ( "Panasonic","", "Button6","Click" ) WinWait("Panasonic FLM553/FLB753 系列","灰度",3000) ControlClick ( "Panasonic","", "Button1","Click" ) WinSetState ( "Panasonic", "", @SW_HIDE )WinSetState ( "Windows 文件保护", "", @SW_HIDE ) winwait ("正在扫描") WinMove ( "正在扫描", "", 200, 0 )sleep(5000)if ControlClick ( "扫描过程中发生错误","", "Button1","Click" ) = 0 then $nameX = InputBox ( "文件描述", "描述作为文件名的前缀(30秒自动关闭)" , $name , "" , 200, 100 , 0, 0 , 30) If @error Then $nameX = $name if $name = $nameX then if $nnn = 1 then $ooo=0 $Docs= FileSelectFolder ( "图片保存路径", "" , 3 , $MyDocsFolder) WinActivate("图片保存路径") endif else $ooo=0 $Docs= FileSelectFolder ( "图片保存路径", "" , 3 , $MyDocsFolder) WinActivate("图片保存路径") endif $path = $Docs & "\" & $nameXif StringLen ( $Docs )=3 then $path = $Docs & $nameXif $nameX="" then $path = $Docsif DirCreate ( $path)=1 then RegWrite ( "HKEY_CURRENT_USER\Software\KME\viewer\UserDefault" ,"ImageFileDir", "REG_SZ", $path)elseif DirCreate( $path & "\0")=1 thenRegWrite ( "HKEY_CURRENT_USER\Software\KME\viewer\UserDefault" ,"ImageFileDir", "REG_SZ", $path)DirRemove( $path & "\0")endifendifif $ooo=0 then Run( "explorer.exe /e ," & $path)$ooo=1$MyDocsFolder=$Docs $name = $nameXWinActivate("文件描述")$xx=0WinSetState ( "Windows 文件保护", "", @SW_HIDE )doWinMove ( "正在扫描", "", 200, 0 )WinWaitClose("正在打印")if WinWaitClose("Panasonic","",1)then $xx=1ControlClick ( "扫描过程中发生错误","", "Button1","Click" )Until $xx=1WinSetState ( "Windows 文件保护", "", @SW_HIDE )WinSetState ( "多功能阅览器", "", @SW_SHOW )WinActivate ( "多功能阅览器")ControlClick ( "Panasonic","", "Button6","Click" )$va = StatusbarGetText ( "多功能阅览器" , "" , 4 )$v = StringInStr( $va,"/")$va1 = 0if StringMid ($va, Number($v+2), 1) = "-" then$va2=0else$va2 = StringMid ($va, Number($v+2), Number($v-1))+1-1endifif $va2>1thenWinMenuSelectItem("多功能阅览器", "", "页播放(&P)", "下一页(&P)" )WinMenuSelectItem("多功能阅览器", "", "页播放(&P)", "上一页(&N)" )sleep(1000)endifdoWinMenuSelectItem("多功能阅览器", "", "文件(&F)", "另存为(&A)" )if $va2 > 1 then if winwait ("确认保存","",10) = 1 then ControlClick ( "确认保存","", "Button3","Click" )endifif $nameX="" then $ns=0$zzz=""$zz=""do$ns=$ns+1$kkk=StringLen($Docs)$zz = StringMid ( $Docs, $kkk-$ns+1 ,1 )if $zz="\" thenelse$zzz=$zz & $zzzendifuntil $zz="\"else$zzz=$nameXendifwinwait("另存为","",1000000000)ControlSetText ( "另存为", "",1152, $number & "(" & $zzz & ")" )ControlCommand ( "另存为","", "ComboBox2","SetCurrentSelection", 4 )ControlClick ( "另存为","","Button2","Click" )WinMenuSelectItem("多功能阅览器", "", "页播放(&P)", "下一页(&N)" )$va1=$va1+1$number=$number+1RegWrite( "HKEY_LOCAL_MACHINE\SOFTWARE\KME\Multi-Function Station","number","REG_DWORD",$number)sleep(1000)Until $va1>=$va2WinSetState ( "多功能阅览器", "", @SW_HIDE )WinSetState ( "Windows 文件保护", "", @SW_HIDE ) endifSoundPlay("C:\Windows\media\Windows XP 电池电力严重短缺.wav",1)Until MsgBox(1, "继续扫描?", "如果已经做好继续扫描准备选确定", 100000000)=2WinSetState ( "多功能阅览器", "", @SW_SHOW )WinSetState ( "多功能阅览器", "", @SW_MAXIMIZE )
2006年07月09日 15点07分
1