Меню для TC. Я его назначил на горячую клавишу F2 в Total Commander и в настоящее время активно использую в работе. По крайней мере появилось то, чего мне всегда нехватало - вызов неких программ прямо с клавиатуры путем выбора. Для расширения функционала написаны подскрипты, запускаемые из этого меню и которым передаются параметры из TC.
Две особенности, характеризующий эти скрипты:
1) они являются графическими оболочками к уже существующим программам, предоставляющими простую возможность запустить консольную программу без забивки длинных консольных параметров. Выбрал что-то в TC, нажал F2, перешел к нужному скрипту и запустил. Таким образом, работа сильно упрощена. Что и требовалось.
2) все настройки хранятся в отдельном файле Autoit.ini, в директории Autoit. Таким образом, если какие либо параметры выставлялись, они будут восстановлены при следующем запуске скрипта. Очень удобно.
Основной код меню.
#include <GUIConstants.au3>
$AUtPath = IniRead ( @WindowsDir & "\Autoit.ini", "AutoIt", "AutoIt", "")
$WidBut = 250
$HeiBut = 22
$NumBut = 6
$Border = 10
Opt("GUIOnEventMode", 1) ; Change to OnEvent mode
$size = WinGetPos( "Program Manager")
$mainwindow = GUICreate("Меню", $WidBut+$Border*2, $HeiBut*$NumBut+$Border*2, $size[2]/2-$WidBut/2-$Border, $size[3]/2-$HeiBut*$NumBut/2-$Border, $WS_POPUP)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
$Button1 = GUICtrlCreateButton ( "Кодирование WAV в WMA", $Border, $Border+$HeiBut*0, $WidBut, $HeiBut, $BS_FLAT)
$Button2 = GUICtrlCreateButton ( "Wget - даунлоадер", $Border, $Border+$HeiBut*1, $WidBut, $HeiBut, $BS_FLAT)
$Button3 = GUICtrlCreateButton ( "DJVU - кодировщик", $Border, $Border+$HeiBut*2, $WidBut, $HeiBut, $BS_FLAT)
$Button4 = GUICtrlCreateButton ( "Извлечение изображений из PDF", $Border, $Border+$HeiBut*3, $WidBut, $HeiBut, $BS_FLAT)
$Button5 = GUICtrlCreateButton ( "Кодирование+декодирование MP3", $Border, $Border+$HeiBut*4, $WidBut, $HeiBut, $BS_FLAT)
$Button6 = GUICtrlCreateButton ( "Создание Vob-ов", $Border, $Border+$HeiBut*5, $WidBut, $HeiBut, $BS_FLAT)
GUISwitch($mainwindow)
GUISetState(@SW_SHOW)
GUICtrlSetOnEvent($Button1, "Button1")
GUICtrlSetOnEvent($Button2, "Button2")
GUICtrlSetOnEvent($Button3, "Button3")
GUICtrlSetOnEvent($Button4, "Button4")
GUICtrlSetOnEvent($Button5, "Button5")
GUICtrlSetOnEvent($Button6, "Button6")
While 1
Sleep(1000) ; Idle around
WEnd
Func CLOSEClicked()
Exit
EndFunc
Func Button1()
ShellExecute ('"' & $AUtPath & '"', "WAV2WMA.au3" & " " & $CmdLine[1] & " " & $CmdLine[2] & " " & $CmdLine[3])
CLOSEClicked ()
EndFunc
Func Button2()
ShellExecute ('"' & $AUtPath & '"', "Get.au3" & " " & $CmdLineRaw)
CLOSEClicked ()
EndFunc
Func Button3()
ShellExecute ('"' & $AUtPath & '"', "DJVU.au3" & " " & $CmdLine[1])
Sleep(200) ; Idle around
WinWaitClose ( "Конвертор TIF в DJVU", "Графическая оболочка к программе documenttodjvu.exe")
CLOSEClicked ()
EndFunc
Func Button4()
ShellExecute ('"' & $AUtPath & '"', "PDFeIMG.au3" & " " & $CmdLine[1] & " " & $CmdLine[2] & " " & $CmdLine[3])
CLOSEClicked ()
EndFunc
Func Button5()
ShellExecute ('"' & $AUtPath & '"', "Lame.au3" & " " & '"' & $CmdLine[1] & '"' & " " & '"' & $CmdLine[2] & '"' & " " & '"' & $CmdLine[3] & '"')
CLOSEClicked ()
EndFunc
Func Button6()
ShellExecute ('"' & $AUtPath & '"', "VobMplex.au3" & " " & '"' & $CmdLine[1] & '"' & " " & '"' & $CmdLine[2] & '"' & " " & '"' & $CmdLine[3] & '"')
CLOSEClicked ()
EndFunc