toolbar und erweitertes Menü für den FC mit Autoit

johny

kennt sich schon aus
Dies setzt voraus, das man sich mit Autoit auskennt
Autoit Final
Deutsche Dokumentation

Ich habe mir mit Autoit ein Toolbar und ein erweitertes Menü für den FC gebastelt, dieses Menü und die Toolbar ist fest mit dem FC verankert, das heisst, wenn man den FC verschiebt, wandert die Toolbar und das Menü mit.


Code:
#include<Guiconstants.au3>
Opt("TrayIconHide", 1)
Dim $pos_2, $pos_3	
$fc = ControlGetHandle("freeCommander", "", "TfcCustomPanel15")
Opt("WinTitleMatchMode", 4)
GUICreate("OpenDir", 600, 50, -1, -1,  $WS_POPUPWINDOW + $WS_VISIBLE + $DS_SETFOREGROUND,$WS_EX_TOOLWINDOW, $fc)
GUISetFont(8, 400, 1, "Courier New Bold")
AdlibEnable ( "FC_Start" , 250)
;--------------------------Menü------------------------
$extras = GUICtrlCreateMenu("DateiTools")
$extras_umb = GUICtrlCreateMenuitem("Multi-Umbenennen", $extras)
;grafik
$grafik = GUICtrlCreateMenu("Grafik")
$grafik_pf = GUICtrlCreateMenuitem("PhotoPhiltre", $grafik)
$grafik_futurix = GUICtrlCreateMenuitem("Futurix", $grafik)
$grafik_pe = GUICtrlCreateMenuitem("PhotoExplorer", $grafik)
$grafik_fpr = GUICtrlCreateMenuitem("FastStone Photo Resizer", $grafik)
;brennen
$brennen = GUICtrlCreateMenu("Brennen")
$brennen_eac = GUICtrlCreateMenuitem("ExactAudioCopy", $brennen)
$brennen_cdimage = GUICtrlCreateMenuitem("CDMage", $brennen)
$brennen_bootisogui = GUICtrlCreateMenuitem("BootIsoGui", $brennen)
$brennen_bao = GUICtrlCreateMenuitem("BAO", $brennen)
$brennen_baoboot = GUICtrlCreateMenuitem("BAO-Boot", $brennen)
$brennen_baoaudio = GUICtrlCreateMenuitem("BAO-Audio", $brennen)
$brennen_nero = GUICtrlCreateMenuitem("Nero", $brennen)
$brennen_qemu = GUICtrlCreateMenuitem("Qemu", $brennen)
;tools
$tools = GUICtrlCreateMenu("Tools")
$tools_aida = GUICtrlCreateMenuitem("Aida", $tools)
$tools_auotstart = GUICtrlCreateMenuitem("AutoStart", $tools)
$tools_taskmgr = GUICtrlCreateMenuitem("Taskmanager", $tools)
$tools_serconf = GUICtrlCreateMenuitem("ServConf", $tools)
$tools_siw = GUICtrlCreateMenuitem("SIW", $tools)
$tools_uninstaller = GUICtrlCreateMenuitem("Uninstaller", $tools)
GUICtrlCreateMenuitem('', $tools)
$tools_suche = GUICtrlCreateMenuitem("Suche", $tools)
GUICtrlCreateMenu("-------")
;ordner
$daten = GUICtrlCreateMenu("Daten")
$daten_doks = GUICtrlCreateMenuitem("Dokumente", $daten)
$daten_kh = GUICtrlCreateMenuitem("Gesundheit", $daten)
$daten_bilder = GUICtrlCreateMenuitem("Bilder", $daten)

$lager_filme = GUICtrlCreateMenuitem('Filme', $daten)
$lager_musik = GUICtrlCreateMenuitem('Musik', $daten)
;office
$office = GUICtrlCreateMenu("Office")
$office_office = GUICtrlCreateMenuitem("Office", $office)
$office_toolsmm = GUICtrlCreateMenuitem("ToolsMM", $office) 
$office_grafik = GUICtrlCreateMenuitem("Grafik", $office)
$office_o_tools = GUICtrlCreateMenuitem("Tools-Office", $office)
$office_pspad = GUICtrlCreateMenuitem("PsPad", $office)
GUICtrlCreateMenuitem("", $office)
$office_prog = GUICtrlCreateMenuitem("Programme", $office)
$office_prog_1 = GUICtrlCreateMenuitem("Programme1", $office)
GUICtrlCreateMenuitem("", $office)
$office_autoit = GUICtrlCreateMenuitem("Autoit", $office)
$office_brennen = GUICtrlCreateMenuitem("Brennen", $office)
$office_fc = GUICtrlCreateMenuitem("FC", $office)
$office_fc_tools = GUICtrlCreateMenuitem("FC-Tools", $office)
$office_kk =  GUICtrlCreateMenuitem("Kommunikartion", $office)
$office_tools = GUICtrlCreateMenuitem("Tools", $office)
$office_system = GUICtrlCreateMenuitem("System", $office)
;sys
$sys = GUICtrlCreateMenu("System")
$sys_temp = GUICtrlCreateMenuitem("Temp", $sys)
$sys_sys = GUICtrlCreateMenuitem("System32", $sys)
$sys_win = GUICtrlCreateMenuitem("Windows", $sys)
$sys_ = GUICtrlCreateMenuitem("", $sys)
$sys_ = GUICtrlCreateMenuitem("", $sys)
$sys_ = GUICtrlCreateMenuitem("", $sys)
$sys_ = GUICtrlCreateMenuitem("", $sys)
$sys_ = GUICtrlCreateMenuitem("", $sys)
;$ende = GUICtrlCreateButton("Ende", 20, 20)
;xpcd
$xpcd = GUICtrlCreateMenu("XPCD")
$xpcd_packs = GUICtrlCreateMenuitem('Packs', $xpcd) 
$xpcd_root = GUICtrlCreateMenuitem('XPCD', $xpcd)
$xpcd_install = GUICtrlCreateMenuitem('Install', $xpcd)
$xpcd_install_xptricks = GUICtrlCreateMenuitem('XP-TRICKS', $xpcd)
GUICtrlCreateMenuitem('', $xpcd)
$xpcd_oem = GUICtrlCreateMenuitem('$OEM$', $xpcd)
$xpcd_oem_win = GUICtrlCreateMenuitem('$$', $xpcd)
$xpcd_oem_sys = GUICtrlCreateMenuitem('System32', $xpcd)
GUICtrlCreateMenuitem('', $xpcd)
$xpcd_docs = GUICtrlCreateMenuitem('$DOCS', $xpcd)
$xpcd_docs_au = GUICtrlCreateMenuitem('All Users', $xpcd)
$xpcd_docs_au_ad = GUICtrlCreateMenuitem('Anwendungsdaten', $xpcd)
$xpcd_docs_au_sm = GUICtrlCreateMenuitem('Startmenü', $xpcd)
GUICtrlCreateMenuitem('', $xpcd)
$xpcd_docs_default = GUICtrlCreateMenuitem('DEFAULT USER', $xpcd)
$xpcd_docs_default_ad = GUICtrlCreateMenuitem('Anwendungsdaten', $xpcd)
$xpcd_docs_default_ql = GUICtrlCreateMenuitem('Quick Launch', $xpcd)
$xpcd_docs_default_sm = GUICtrlCreateMenuitem('Startmenü', $xpcd)
;Lager
$lager = GUICtrlCreateMenu("Lager")
$lager_down = GUICtrlCreateMenuitem('Downloads', $lager)
$lager_soft = GUICtrlCreateMenuitem('Software', $lager)
$lager_softdvd = GUICtrlCreateMenuitem('SoftDVD', $lager)
$lager_treiber = GUICtrlCreateMenuitem('Treiber', $lager)
;g
$g = GUICtrlCreateMenu("G:\")
$g_root = GUICtrlCreateMenuitem('Root G:', $g)
$g_guides = GUICtrlCreateMenuitem('Guides', $g)
$g_temp = GUICtrlCreateMenuitem('Temp', $g)
;Buttons
$bao = GUICtrlCreateIcon(@ScriptDir & "\icos\bao-16x16.ico", -1, 0, 3, 20, 20)
$baoboot = GUICtrlCreateIcon(@ScriptDir & "\icos\baoboot-16x16.ico", -1, 25, 3, 20, 20)
$baoaudio = GUICtrlCreateIcon(@ScriptDir & "\icos\baoaudio-16x16.ico", -1, 50, 3, 20, 20)
$autoitmacro = GUICtrlCreateIcon(@ScriptDir & "\icos\amg-16x16.ico", -1, 75, 3, 20, 20) 
$eac = GUICtrlCreateIcon(@ScriptDir & "\icos\eac-16x16.ico", -1, 100, 3, 20, 20) 
$bootisogui = GUICtrlCreateIcon(@ScriptDir & "\icos\bootisogui-16x16.ico", -1, 125, 3, 20, 20) 
$7zipgui = GUICtrlCreateIcon(@ScriptDir & "\icos\7zip-16x16.ico", -1, 150, 3, 20, 20) 
$lister = GUICtrlCreateIcon(@ScriptDir & "\icos\lister-16x16.ico", -1, 175, 3, 20, 20) 
$scite = GUICtrlCreateIcon(@ScriptDir & "\icos\SCITE-16x16.ico", -1, 200, 3, 20, 20)
$pspad = GUICtrlCreateIcon(@ScriptDir & "\icos\pspad-16x16.ico", -1, 225, 3, 20, 20)
$uniex = GUICtrlCreateIcon(@ScriptDir & "\icos\uni-16x16.ico", -1, 250, 3, 20, 20) 
$keeppasss = GUICtrlCreateIcon(@ScriptDir & "\icos\keepass-16x16.ico", -1, 275, 3, 20, 20)  
$ende = GUICtrlCreateIcon(@ScriptDir & "\icos\ende-16x16.ico", -1, 570, 3, 20, 20) 

GUISetState()
While 1
	$msg = GUIGetMsg()
	Select
		Case $msg = $GUI_EVENT_CLOSE
			ExitLoop
;extras
Case $msg = $extras_umb
	Run('E:\TOOLS\SYSTEM\freeCommander2005\tools\rename\lupas_fc.exe')
;grafik
Case $msg = $grafik_pe
	Run('E:\Office\Grafik\PhotoExplorer\ViewItPhotoExplorer_pro.exe')
	Case $msg = $grafik_pf
	Run('E:\Office\Grafik\PhotoFiltre\PhotoFiltre.exe')
	Case $msg = $grafik_futurix
	Run('E:\Office\Grafik\FuturixImager\fximager.exe')
	Case $msg = $grafik_fpr
	Run('E:\Office\Grafik\FastStone Photo Resizer\FSResizer.exe')
;brennen
Case $msg = $brennen_eac
	Run('E:\tools\brennen\EAC\eac1.exe', "E:\TOOLS\BRENNEN\EAC")
	Case $msg = $brennen_bao
	Run('E:\tools\brennen\burnatonce\burnatonce.exe', "E:\tools\brennen\burnatonce")
	Case $msg = $brennen_baoaudio
	Run('E:\tools\brennen\burnatonce\burnatonce-audio.exe', "E:\tools\brennen\burnatonce")
	Case $msg = $brennen_baoboot
	Run('E:\tools\brennen\burnatonce\burnatonce-start.exe', "E:\tools\brennen\burnatonce")
	Case $msg = $brennen_bootisogui
	Run('E:\tools\brennen\cdimagegui\cdimage-iso-brennen.exe', "E:\tools\brennen\cdimagegui")
	Case $msg = $brennen_cdimage
	Run('E:\tools\brennen\cdmage\CDmage.exe', "E:\tools\brennen\cdmage")
	Case $msg = $brennen_nero
	Run('E:\tools\brennen\Nero\Nero-Start.exe', "E:\tools\brennen\Nero")
Case $msg = $brennen_qemu 
	Run('E:\tools\system\QemuManager\QemuManager.exe', 'E:\tools\system\QemuManager')
;tools
Case $msg = $tools_aida
	Run('E:\TOOLS\SYSTEM\freeCommander2005\tools\SystemInfo\aida32.exe')
		Case $msg = $tools_auotstart
	Run('E:\TOOLS\SYSTEM\freeCommander2005\tools\SystemInfo\autoruns\autoruns.exe')
Case $msg = $tools_taskmgr
	Run('taskmgr.exe')
Case $msg = $tools_serconf
	Run('E:\TOOLS\SYSTEM\freeCommander2005\tools\SystemInfo\ServConf\ServConf.exe')
	Case $msg = $tools_uninstaller
	Run('E:\TOOLS\SYSTEM\freeCommander2005\tools\uninstaller\utool.exe')
	Case $msg = $tools_suche
	Run('E:\TOOLS\SYSTEM\freeCommander2005\tools\Suche\locate_fc.exe')
Case $msg = $tools_siw
	Run('E:\TOOLS\SYSTEM\freeCommander2005\tools\SystemInfo\siw\siw-start.exe')
	;buttons
	Case $msg = $bao
Run('E:\tools\brennen\burnatonce\burnatonce.exe')
	Case $msg = $baoaudio
	Run('E:\tools\brennen\burnatonce\burnatonce-audio.exe')
Case $msg = $baoboot
	Run('E:\tools\brennen\burnatonce\burnatonce-start.exe')
Case $msg = $autoitmacro
	Run('E:\tools\SYSTEM\Autoit3\AutoItMacroGenerator02.exe')
Case $msg = $eac
	Run('E:\TOOLS\BRENNEN\EAC\eac1.exe', "E:\TOOLS\BRENNEN\EAC")
Case $msg = $bootisogui
	Run('E:\tools\brennen\cdimagegui\bootisogui.exe')
Case $msg = $7zipgui
	Run('E:\TOOLS\SYSTEM\freeCommander2005\7zip\7zipgui_fc.exe')
	Case $msg = $lister
	Run('E:\TOOLS\SYSTEM\freeCommander2005\openfile\lister\lister-fc.exe')
		Case $msg = $scite
	Run('E:\tools\SYSTEM\Autoit3\Scite\SciTe_fc.exe')
Case $msg = $pspad
	Run('E:\Office\Tools\pspad\pspad_fc.exe')
	Case $msg = $uniex
	Run('E:\TOOLS\SYSTEM\freeCommander2005\openfile\universalextractor\bin\uniex_fc.exe')
Case $msg = $keeppasss
	Run('E:\tools\system\passwort\KeePass Password Safe\KeePass.exe')
Case $msg = $ende
	WinActivate( "freeCommander" , "Bearbeiten")
	Send("!{F4}")
;ProcessClose('freeCommander.exe')
	Exit
;ordner

		Case $msg = $daten_doks
			_dir('D:\Dokummente')
				Case $msg = $daten_kh
			_dir('D:\Dokummente\Gesundheit')
				Case $msg = $daten_bilder
			_dir('D:\Bilder')
		Case $msg = $lager_filme
           _dir('F:\filme')	
Case $msg = $lager_musik
           _dir('F:\musik')			   
	;office		
		Case $msg = $office_tools
		_dir('E:\Tools')	
	Case $msg = $office_office
		_dir('E:\Office')
Case $msg = $office_toolsmm
_dir('E:\Office\mm\toolsMM')
	Case $msg = $office_o_tools
		_dir('E:\Office\Tools')	
	Case $msg = $office_grafik
		_dir('E:\Office\Grafik')	
	Case $msg = $office_pspad
		_dir('E:\Office\Tools\pspad')	
	Case $msg = $office_prog
_dir('E:\Programme')
Case $msg = $office_prog_1
_dir('E:\Programme1')
;tools		
Case $msg = $office_kk
_dir('E:\tools\kommunikation')
	Case $msg = $office_brennen
       _dir('E:\tools\brennen\')
	Case $msg = $office_system
		_dir('E:\tools\system')		   
Case $msg = $office_fc
       _dir('E:\TOOLS\SYSTEM\freeCommander2005\')
Case $msg = $office_autoit
       _dir('E:\tools\SYSTEM\Autoit3')
Case $msg = $office_fc_tools
       _dir('E:\TOOLS\SYSTEM\freeCommander2005\tools\')	   
;sys
Case $msg = $sys_temp
	_dir(@TempDir)
	Case $msg = $sys_sys
	_dir(@SystemDir)
	Case $msg = $sys_win
	_dir(@WindowsDir)
;xpcd
Case $msg = $xpcd_packs
	_dir('E:\TOOLS\SYSTEM\nLite\packs')
Case $msg = $xpcd_root
	_dir('F:\soft\XPCD\')
	Case $msg = $xpcd_oem
	_dir('F:\soft\XPCD\$OEM$')
	Case $msg = $xpcd_docs
	_dir('F:\soft\XPCD\$OEM$\$Docs')
	Case $msg = $xpcd_docs_au
	_dir('F:\soft\XPCD\$OEM$\$Docs\All Users')
	Case $msg = $xpcd_docs_au_ad
	_dir('F:\soft\XPCD\$OEM$\$Docs\All Users\Anwendungsdaten')
	Case $msg = $xpcd_docs_au_sm
	_dir('F:\soft\XPCD\$OEM$\$Docs\All Users\Startmenü')
	Case $msg = $xpcd_docs_default
	_dir('F:\soft\XPCD\$OEM$\$Docs\Default User')
	Case $msg = $xpcd_docs_default_ad
	_dir('F:\soft\XPCD\$OEM$\$Docs\Default User\Anwendungsdaten')
	Case $msg = $xpcd_docs_default_ql
	_dir('f:\soft\XPCD\$OEM$\$Docs\Default User\Anwendungsdaten\Microsoft\Internet Explorer\Quick Launch')
	Case $msg = $xpcd_docs_default_sm
	_dir('F:\soft\XPCD\$OEM$\$Docs\Default User\Startmenü')
Case $msg = $xpcd_oem_win
	_dir('f:\soft\XPCD\$OEM$\$$')
Case $msg = $xpcd_oem_sys
	_dir('f:\soft\XPCD\$OEM$\$$\system32')
	Case $msg = $xpcd_install
	_dir('F:\soft\XPCD\install\')
	Case $msg = $xpcd_install_xptricks
	_dir('f:\soft\XPCD\install\xp-tricks')	
	;lager
		Case $msg = $lager_down
           _dir('F:\downloads')
	Case $msg = $lager_soft
           _dir('F:\soft')	
		   Case $msg = $lager_softdvd
           _dir('F:\soft\softdvd')	
		   Case $msg = $lager_treiber
           _dir('F:\soft\softdvd\Treiber')	
	   Case $msg = $g_temp
		   _dir('G:\temp')
		    Case $msg = $g_guides
		   _dir('G:\Guides\German-nLite-Guides')
		    Case $msg = $g_root
		   _dir('G:\')
;~ 			Case $msg = $ende
;~ 			Exit
			;ExitLoop
	EndSelect
WEnd
;Exit

;---------------------------Funktionen-------
Func _dir($dir)
	Opt("WinTitleMatchMode", 4)
WinActivate("freeCommander ","")
ControlSetText("freeCommander","Bearbeiten","Edit1", $dir)
ControlClick("freeCommander","Bearbeiten","Edit1")		
Send("{Enter}")
WinActivate("freeCommander","Bearbeiten")
WinActivate("OpenDir", "")
;Exit
EndFunc

Func _RunDOS($sCommand)
	Return RunWait(@ComSpec & " /C " & $sCommand, "", @SW_HIDE)
EndFunc   ;==>_RunDOS
;E:\TOOLS\SYSTEM\AutoIt3\beta\Aut2Exe\Aut2exe.exe
	   
EXIT

Func FC_Start()
Dim $pos_2, $pos_3, $pos	
If WinExists( "freeCommander" , "Bearbeiten") Then
$pos = WinGetPos ( "freeCommander" , "Bearbeiten")
$pos_2 = $pos[0] + 300
$pos_3 = $pos[1] + 23
EndIf
WinMove ( "OpenDir", "", $pos_2, $pos_3)

EndFunc

Möchte man das die gerade im FC markierte Datei, dem ausgewählten Programm im Menü oder in der Toolbar übergeben wird, so muss man für das jeweilige Programm, dieses kleine Script im Programmordner kopieren

Code:
WinActivate("freeCommander", "3. Bearbeiten")
Send("!{INS}")
$file = ClipGet()
Run(@ScriptDir & '\programm.exe "' & $file & '"')

man muss dann immer zuerst den FC starten und dann das kompilierte Script, dies kann man wieder am besten mit folgendem Script erledigen
Code:
Run(@ScriptDir & '\freeCommander.exe')
WinWaitActive("freeCommander","dos")
Run(@ScriptDir & '\openfile\ordner.exe')
ProcessWaitClose('freeCommander.exe')
ProcessClose('menue-toolbar.exe')
 
Oben