Код скрипта DJVU.au3
Код:
#include <GUIConstants.au3>
Opt("GUIOnEventMode", 1) ; Change to OnEvent mode
$mainwindow = GUICreate("Конвертор TIF в DJVU", 350, 160)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GUICtrlCreateLabel("Графическая оболочка к программе documenttodjvu.exe", 10, 3)
GUICtrlCreateGroup ( "Пути", 5, 20, 340, 95)
$okbutton = GUICtrlCreateButton("Кодировать!", 270, 117, 77, 42)
GUICtrlCreateLabel("Путь к кодировщику", 10, 35)
$EncPath = GUICtrlCreateEdit ( "Укажите кодер", 10, 50, 300, 20, $ES_READONLY+$WS_HSCROLL)
$EncButton = GUICtrlCreateButton ( "xxx", 311, 50, 30, 20)
GUICtrlCreateLabel("Путь к результату", 10, 75)
$DjvuPath = GUICtrlCreateEdit ( "Укажите файл", 10, 90, 300, 20, $WS_HSCROLL)
$DjvuButton = GUICtrlCreateButton ( "xxx", 311, 90, 30, 20)
GUICtrlSetOnEvent($EncButton, "EncButton")
GUICtrlSetOnEvent($DjvuButton, "DjvuButton")
GUICtrlSetOnEvent($okbutton, "OKButton")
GUICtrlSetData ( $EncPath, IniRead ( @WindowsDir & "\Autoit.ini", "DJVU", "EncPath", ""))
GUICtrlSetData ( $DjvuPath, IniRead ( @WindowsDir & "\Autoit.ini", "DJVU", "DjvuPath", ""))
GUISwitch($mainwindow)
GUISetState(@SW_SHOW)
While 1
Sleep(1000) ; Idle around
WEnd
Func EncButton()
$var = FileOpenDialog ( "Указать путь к кодеру", "", "Исполняемый файл (documenttodjvu.exe)", 1)
if StringLen ($var) > 0 then GUICtrlSetData ( $EncPath, $var)
EndFunc
Func DjvuButton()
$var = FileSaveDialog ( "Указать конечный файл", "", "DJVU (*.djvu)", 1)
if StringLen ($var) > 0 then GUICtrlSetData ( $DjvuPath, $var & '.djvu')
EndFunc
Func OKButton()
Run('"' & GUICtrlRead ($EncPath) & '"' & ' --verbose --aggressive --filelist=' & $CmdLine[1] & ' ' & GUICtrlRead ($DjvuPath), "")
CLOSEClicked ()
EndFunc
Func CLOSEClicked()
;Note: at this point @GUI_CTRLID would equal $GUI_EVENT_CLOSE,
;@GUI_WINHANDLE will be either $mainwindow or $dummywindow
;If @GUI_WINHANDLE = $mainwindow Then
; MsgBox(0, "GUI Event", "You clicked CLOSE in the main window! Exiting...")
IniWrite ( @WindowsDir & "\Autoit.ini", "DJVU", "EncPath", GUICtrlRead ($EncPath) )
IniWrite ( @WindowsDir & "\Autoit.ini", "DJVU", "DjvuPath", GUICtrlRead ($DjvuPath) )
Exit
;EndIf
EndFunc