Hallo Leute,
ich möchte euch hier meinen Skript "Tab&Toasters" vorstellen. Bei einem Klick auf ein Icon wird das Programm automatisch gestartet.
Gesteuert wird das Programm über eine ini Datei die nach folgendem Schema aufgebaut ist.
[new tab]
name=%name_des_tabs%
[new icon]
name=%name_des_icons im_menü%
pfad=%pfad_zur_exe%
tab=%zuordnung_zu_einem_tab%
Wie ihr die ini Datei anordnet bleibt euch überlassen, allerdings ist es zu empfehlen zuerst den Tab zu erstellen und danach die Icons hinzuzufügen.
Spoiler anzeigen
#NoTrayIcon
#include <Array.au3>
#include <GUIConstantsEx.au3>
#Include <File.au3>
#include<String.au3>
#Include <GuiButton.au3>
Opt ("GUIOnEventMode", 1)
$file=FileOpen("c:\config.ini",0)
$name=0
$checkid=1
$posx=10
$posy=20
Dim $tabname[1]
Dim $iconname[1]
Dim $iconpfad[1]
Dim $icontab[1]
Dim $id[1]
For $n=1 to _FileCountLines("c:\config.ini")
$name=FileReadLine($file,$n)
If StringCompare("[new tab]",$name) = 0 Then
$name=FileReadLine($file,$n+1)
$name=_StringExplode($name,"%")
_ArrayAdd($tabname,$name[1])
EndIf
If StringCompare("[new icon]",$name) = 0 Then
$name=FileReadLine($file,$n+1)
If StringInStr($name,"name") <> 0 Then
$name=_StringExplode($name,"%")
_ArrayAdd($iconname,$name[1])
EndIf
If StringInStr($name,"pfad") <> 0 Then
$name=_StringExplode($name,"%")
_ArrayAdd($iconpfad,$name[1])
EndIf
$name=FileReadLine($file,$n+3)
If StringInStr($name,"tab") <> 0 Then
$name=_StringExplode($name,"%")
_ArrayAdd($icontab,$name[1])
EndIf
EndIf
[/autoit] [autoit][/autoit] [autoit]Next
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]GUICreate("Menü",500,500)
GUISetOnEvent (-3, "_exit")
GUICtrlCreateTab(-1,-1,500,500)
For $check=1 To UBound($tabname)-1
GUICtrlCreateTabItem($tabname[$check])
$posy=30
For $check2=1 to UBound($icontab)-1
If $tabname[$check] = $icontab[$check2] Then
$checkid = GUICtrlCreateIcon($iconpfad[$check2],-1,$posx,$posy)
GUICtrlCreateLabel($iconname[$check2],$posx+40,$posy+10)
_ArrayAdd($id,$checkid)
GUICtrlSetOnEvent ($id[$check2], "_run")
If $posy <= 170 Then
$posy=$posy+40
Else
$posx=$posx+40
$posy=0
EndIf
EndIf
Next
Next
[/autoit] [autoit][/autoit] [autoit]GUISetState()
[/autoit] [autoit][/autoit] [autoit]While 1
Sleep(100)
WEnd
[/autoit] [autoit][/autoit] [autoit]Func _exit()
Exit
EndFunc
Func _run()
$msg=@GUI_CTRLID
For $check2=1 to Ubound($id)-1
if $msg = $id[$check2] Then
Run($iconpfad[$check2])
EndIf
Next
EndFunc
Meine ini Datei
Spoiler anzeigen
[new tab]
name=%Multimedia%
[new icon]
name=%Orca%
pfad=%C:\Programme\Orca\Orca.exe%
tab=%Multimedia%
[new icon]
name=%CDBurner%
pfad=%C:\Programme\CDBurnerXP\cdbxpp.exe%
tab=%Multimedia%
[new tab]
name=%Office%
[new icon]
name=%Excel%
pfad=%C:\Programme\Microsoft Office\OFFICE11\excel.exe%
tab=%Office%
[new icon]
name=%Access%
pfad=%C:\Programme\Microsoft Office\OFFICE11\msaccess.exe%
tab=%Office%
[new icon]
name=%Word%
pfad=%C:\Programme\Microsoft Office\OFFICE11\winword.exe%
tab=%Office%
[new icon]
name=%PowerPoint%
pfad=%C:\Programme\Microsoft Office\OFFICE11\powerpnt.exe%
tab=%Office%
[new tab]
name=%Internet%
[new icon]
name=%Firefox%
pfad=%C:\Programme\Mozilla Firefox\firefox.exe%
tab=%Internet%
[new tab]
name=%OpenOffice%
[new icon]
name=%Textverarbeitung%
pfad=%C:\Programme\LibreOffice 3\program\swriter.exe%
tab=%OpenOffice%
[new icon]
name=%Tabellenkalkulation%
pfad=%C:\Programme\LibreOffice 3\program\scalc.exe%
tab=%OpenOffice%
[new icon]
name=%Präsentation%
pfad=%C:\Programme\LibreOffice 3\program\simpress.exe%
tab=%OpenOffice%
[new icon]
name=%Zeichnen%
pfad=%C:\Programme\LibreOffice 3\program\sdraw.exe%
tab=%OpenOffice%
[new tab]
name=%MyInternet%
[new icon]
name=%Zeichnen%
pfad=%C:\Programme\LibreOffice 3\program\sdraw.exe%
tab=%MyInternet%
[new tab]
name=%Internet3%
[new icon]
name=%Zeichnen%
pfad=%C:\Programme\LibreOffice 3\program\sdraw.exe%
tab=%Internet3%
[new tab]
name=%Internet2%
Alles anzeigen
Bilder:
Spoiler anzeigen
Verbesserung nehme ich gerne entgegen.