Ja ich höre damit auf... Nur ich kam einfach nicht wieter sry...
Aber dank dir ist mein Problem jetzt komplett gelöst
Ich mach jetzt auch erstmal ne pause und dann weiter...
Danke dir
MFG: Blacky911
Ja ich höre damit auf... Nur ich kam einfach nicht wieter sry...
Aber dank dir ist mein Problem jetzt komplett gelöst
Ich mach jetzt auch erstmal ne pause und dann weiter...
Danke dir
MFG: Blacky911
Also wenn ich WinMove wie folgt einbaue bekomme ich so ein bild:
[Blockierte Grafik: http://www.abload.de/thumb/fail7owo.png]
Und naja, das ist nicht so ganz erwünscht...
Hier mald er funktionierende Code:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <array.au3>
#include <EditConstants.au3>
#Include <GuiButton.au3>
#include <ListboxConstants.au3>
#Include <WinAPI.au3>
;globals
Global $label1
Global $gui
Global $startbutton
Global $aSize
Global $hovered
Global $ininame="data.ini"
Global $ininame2="settings.ini"
Global $buttonhigh=90
Global $button1widht=10 ;startbutton
Global $breite=300 ;guibreite
Global $hoehe=120 ;guihoehe
Global $mainguititle,$maininitext,$mainlabeltext,$mainsettingstext,$mainstarttext,$savebutton
;settings
Global $guititle
Global $labeltext
Global $starttext
Global $settingtext
_addprogramm()
[/autoit] [autoit][/autoit] [autoit]Func _addprogramm()
Local $ahigh=10
Local $awidh=10
Local $count=0
Local $ghigh=80 ;80
Local $gwidh=700
Local $var1,$var2
Local $i=0
Local $a=0
Dim $namein[10]
Dim $pfadin[10]
Dim $pfadsearch[10]
Dim $picin[10]
Dim $picsearch[10]
$gui1=GUICreate("Einträge Hinzufügen",$gwidh,$ghigh, -1, -1)
GUICtrlCreateLabel("Name:",$awidh,$ahigh)
$namein[$i]=GUICtrlCreateInput("",$awidh+40,$ahigh-2,120)
GUICtrlCreateLabel("Pfad:",$awidh+170,$ahigh)
$pfadin[$i]=GUICtrlCreateInput("",$awidh+200,$ahigh-2,120)
$pfadsearch[$i]=GUICtrlCreateButton("Durchsuchen",$awidh+325,$ahigh-4)
GUICtrlCreateLabel("Bild:",$awidh+410,$ahigh)
$picin[$i]=GUICtrlCreateInput("",$awidh+435,$ahigh-2,120)
$picsearch[$i]=GUICtrlCreateButton("Durchsuchen",$awidh+560,$ahigh-4)
$addbuttons=GUICtrlCreateLabel("[+]",$awidh+650,$ahigh+1)
GUICtrlSetFont (-1,8,460,Default,"tahoma")
$copyright=GUICtrlCreateLabel("Coded by Blackdeath911 and Vampyr1091",$awidh-6,$ahigh+55)
$save=GUICtrlCreateButton("Speichern und Übernehmen",$awidh+360,$ahigh+40)
$bearbeiten=GUICtrlCreateButton("Einträge Bearbeiten",$awidh+510,$ahigh+40)
$abort=GUICtrlCreateButton("Abbrechen",$awidh+620,$ahigh+40)
$grafik7=GUICtrlCreateGraphic(0,45,700,1)
GUICtrlSetBkColor(-1, 0x000000)
GUISetState()
;Schleife
While 1
$msg = GUIGetMsg()
;Switch $msg
Switch $msg
Case -3
GUIDelete()
Case $addbuttons
$i=$i+1
If $i <= 9 Then
$count=$count+25
;GUICtrlSetResizing($gui1,$GUI_DOCKALL)
;_WinAPI_MoveWindow($gui1,,Default,$gwidh,$ghigh+$count)
winmove("Einträge Hinzufügen","",Default,Default,$gwidh,$ghigh+$count)
GUICtrlCreateLabel("Name:",$awidh,$ahigh+$count)
$namein[$i]=GUICtrlCreateInput("",$awidh+40,$ahigh-2+$count,120)
GUICtrlCreateLabel("Pfad:",$awidh+170,$ahigh+$count)
$pfadin[$i]=GUICtrlCreateInput("",$awidh+200,$ahigh-2+$count,120)
$pfadsearch[$i]=GUICtrlCreateButton("Durchsuchen",$awidh+325,$ahigh-4+$count)
GUICtrlCreateLabel("Bild:",$awidh+410,$ahigh+$count)
$picin[$i]=GUICtrlCreateInput("",$awidh+435,$ahigh-2+$count,120)
$picsearch[$i]=GUICtrlCreateButton("Durchsuchen",$awidh+560,$ahigh-4+$count)
GUICtrlDelete ($copyright)
GUICtrlDelete ($save)
GUICtrlDelete ($bearbeiten)
GUICtrlDelete ($abort)
GUICtrlDelete ($grafik7)
$grafik7=GUICtrlCreateGraphic(0,45+$count,700,1)
GUICtrlSetBkColor(-1, 0x000000)
$copyright=GUICtrlCreateLabel("Coded by Blackdeath911 and Vampyr1091",$awidh-6,$ahigh+55+$count)
$save=GUICtrlCreateButton("Speichern und Übernehmen",$awidh+360,$ahigh+40+$count)
$bearbeiten=GUICtrlCreateButton("Einträge Bearbeiten",$awidh+510,$ahigh+40+$count)
$abort=GUICtrlCreateButton("Abbrechen",$awidh+620,$ahigh+40+$count)
Else
MsgBox(0,"Maximum für eine Eintragung erreicht","Mehr als 10 Einträge auf einmal sind leider nicht möglich, bitte erst speichern und dann nochmal.")
EndIf
Case 0
$cursor1 = GUIGetCursorInfo($gui1)
If Not IsArray($cursor1) Then ContinueLoop
If $cursor1[4] = $addbuttons Then ; Maus über Label
If Not $hovered Then
GUICtrlSetColor($addbuttons,0x0000FF)
GUICtrlSetFont ($addbuttons,9,460,Default,"tahoma")
$hovered = True
EndIf
Else ; Maus nicht über Label
If $hovered Then
GUICtrlSetColor($addbuttons,0x000000)
GUICtrlSetFont ($addbuttons,8,460,Default,"tahoma")
$hovered = False
EndIf
EndIf
Case $abort
GUIDelete()
Case $pfadsearch[0]
$var1=FileOpenDialog("Bitte den Pfad des Programms auswählen","C:\","Ausführbares (*.exe)",1)
GUICtrlSetData($pfadin[0],$var1)
Case $pfadsearch[1]
$var1=FileOpenDialog("Bitte den Pfad des Programms auswählen","C:\","Ausführbares (*.exe)",1)
GUICtrlSetData($pfadin[1],$var1)
Case $pfadsearch[2]
$var1=FileOpenDialog("Bitte den Pfad des Programms auswählen","C:\","Ausführbares (*.exe)",1)
GUICtrlSetData($pfadin[2],$var1)
Case $pfadsearch[3]
$var1=FileOpenDialog("Bitte den Pfad des Programms auswählen","C:\","Ausführbares (*.exe)",1)
GUICtrlSetData($pfadin[3],$var1)
Case $pfadsearch[4]
$var1=FileOpenDialog("Bitte den Pfad des Programms auswählen","C:\","Ausführbares (*.exe)",1)
GUICtrlSetData($pfadin[4],$var1)
Case $pfadsearch[5]
$var1=FileOpenDialog("Bitte den Pfad des Programms auswählen","C:\","Ausführbares (*.exe)",1)
GUICtrlSetData($pfadin[5],$var1)
Case $pfadsearch[6]
$var1=FileOpenDialog("Bitte den Pfad des Programms auswählen","C:\","Ausführbares (*.exe)",1)
GUICtrlSetData($pfadin[6],$var1)
Case $pfadsearch[7]
$var1=FileOpenDialog("Bitte den Pfad des Programms auswählen","C:\","Ausführbares (*.exe)",1)
GUICtrlSetData($pfadin[7],$var1)
Case $pfadsearch[8]
$var1=FileOpenDialog("Bitte den Pfad des Programms auswählen","C:\","Ausführbares (*.exe)",1)
GUICtrlSetData($pfadin[8],$var1)
Case $pfadsearch[9]
$var1=FileOpenDialog("Bitte den Pfad des Programms auswählen","C:\","Ausführbares (*.exe)",1)
GUICtrlSetData($pfadin[9],$var1)
Case $picsearch[0]
$var2=FileOpenDialog("Bitte den Pfad des Bildes auswählen","C:\","Bilder (*.jpg;*.bmp)",1)
GUICtrlSetData($picin[0],$var2)
Case $picsearch[1]
$var2=FileOpenDialog("Bitte den Pfad des Bildes auswählen","C:\","Bilder (*.jpg;*.bmp)",1)
GUICtrlSetData($picin[1],$var2)
Case $picsearch[2]
$var2=FileOpenDialog("Bitte den Pfad des Bildes auswählen","C:\","Bilder (*.jpg;*.bmp)",1)
GUICtrlSetData($picin[2],$var2)
Case $picsearch[3]
$var2=FileOpenDialog("Bitte den Pfad des Bildes auswählen","C:\","Bilder (*.jpg;*.bmp)",1)
GUICtrlSetData($picin[3],$var2)
Case $picsearch[4]
$var2=FileOpenDialog("Bitte den Pfad des Bildes auswählen","C:\","Bilder (*.jpg;*.bmp)",1)
GUICtrlSetData($picin[4],$var2)
Case $picsearch[5]
$var2=FileOpenDialog("Bitte den Pfad des Bildes auswählen","C:\","Bilder (*.jpg;*.bmp)",1)
GUICtrlSetData($picin[5],$var2)
Case $picsearch[6]
$var2=FileOpenDialog("Bitte den Pfad des Bildes auswählen","C:\","Bilder (*.jpg;*.bmp)",1)
GUICtrlSetData($picin[6],$var2)
Case $picsearch[7]
$var2=FileOpenDialog("Bitte den Pfad des Bildes auswählen","C:\","Bilder (*.jpg;*.bmp)",1)
GUICtrlSetData($picin[7],$var2)
Case $picsearch[8]
$var2=FileOpenDialog("Bitte den Pfad des Bildes auswählen","C:\","Bilder (*.jpg;*.bmp)",1)
GUICtrlSetData($picin[8],$var2)
Case $picsearch[9]
$var2=FileOpenDialog("Bitte den Pfad des Bildes auswählen","C:\","Bilder (*.jpg;*.bmp)",1)
GUICtrlSetData($picin[9],$var2)
Case $bearbeiten
MsgBox(0,"Comming Soon", "Diese Funktion ist noch nicht vorhanden")
Case $save
For $a=0 to $i
IniWrite(@ScriptDir&"\"&$ininame,GUICtrlRead($namein[$a]),GUICtrlRead($pfadin[$a]),GUICtrlRead($picin[$a]))
Next
GUIDelete()
EndSwitch
WEnd
EndFunc
Habs jetzt mal so gemacht das ihr es auch testen könnt... also einfach kopieren speichern und ausführen...
Ich verstehts nicht wirklich was ich machen soll...
Kann mir wer helfen?
PS: Verbesserungsvorschläge werden auch gerne angenommen...
MFG: Blacky911
Also so wie ich das jetzt gemacht bzw. probiert hab bekommt man das fenster nur so, dass man es mit der maus größer und kleiner ziehen kann.
Was ich möchte ist aber, dass wenn man auf das + klickt neue Buttons kommen und sich gleichzeitig die komplette gui um 25 vergrößert nahc unten, das die unteren Buttons und so sich dann nach unten schieben hab ich schon, auch das die neuen kommen wenn man auf das + klickt aber nur das sich die Gui beim klick auf + vergrößert hab ich noch nicht hinbekommen.
Und wenn sich die größe verändert hat hat sich die gui in irgendeine Ecke verschoben und die ganzen Buttons etc. haben sich verschoben und die neuen sind an andere positionen gegangen.
Ich möcht ja eig nur, dass sich die höhe verändert alles andere mach ich ja selber die gui soll halt nur höher werden.
Danke für die hilfe
MFG: Blacky911
Irgendwie will beides nicht...
Hier mal mein Teil des Scripts:
(Zeile 41,42)
Func _addprogramm()
Local $ahigh=10
Local $awidh=10
Local $count=0
Local $ghigh=80
Local $gwidh=700
Local $var1,$var2
$gui1=GUICreate("Einträge Hinzufügen",$gwidh,$ghigh)
GUICtrlCreateLabel("Name:",$awidh,$ahigh)
$namein=GUICtrlCreateInput("",$awidh+40,$ahigh-2,120)
GUICtrlCreateLabel("Pfad:",$awidh+170,$ahigh)
$pfadin=GUICtrlCreateInput("",$awidh+200,$ahigh-2,120)
$pfadsearch=GUICtrlCreateButton("Durchsuchen",$awidh+325,$ahigh-4)
GUICtrlCreateLabel("Bild:",$awidh+410,$ahigh)
$picin=GUICtrlCreateInput("",$awidh+435,$ahigh-2,120)
$picsearch=GUICtrlCreateButton("Durchsuchen",$awidh+560,$ahigh-4)
$addbuttons=GUICtrlCreateLabel("[+]",$awidh+650,$ahigh+1)
GUICtrlSetFont (-1,8,460,Default,"tahoma")
$copyright=GUICtrlCreateLabel("Coded by Blackdeath911 and Vampyr1091",$awidh-6,$ahigh+55)
$save=GUICtrlCreateButton("Einträge Speichern und Übernehmen",$awidh+320,$ahigh+40)
$bearbeiten=GUICtrlCreateButton("Einträge Bearbeiten",$awidh+510,$ahigh+40)
$abort=GUICtrlCreateButton("Abbrechen",$awidh+620,$ahigh+40)
$grafik7=GUICtrlCreateGraphic(0,45,700,1)
GUICtrlSetBkColor(-1, 0x000000)
GUISetState()
;Schleife
While 1
$msg = GUIGetMsg()
;Switch $msg
Switch $msg
Case -3
GUIDelete()
;_gui()
Exit
Case $addbuttons
$count=$count+25
;_WinAPI_MoveWindow($gui1,,Default,$gwidh,$ghigh+$count)
winmove($gui1,Default,Default,$gwidh,$ghigh+$count)
GUICtrlCreateLabel("Name:",$awidh,$ahigh+$count)
$namein1=GUICtrlCreateInput("",$awidh+40,$ahigh-2+$count,120)
GUICtrlCreateLabel("Pfad:",$awidh+170,$ahigh+$count)
$pfadin1=GUICtrlCreateInput("",$awidh+200,$ahigh-2+$count,120)
$pfadsearch1=GUICtrlCreateButton("Durchsuchen",$awidh+325,$ahigh-4+$count)
GUICtrlCreateLabel("Bild:",$awidh+410,$ahigh+$count)
$picin1=GUICtrlCreateInput("",$awidh+435,$ahigh-2+$count,120)
$picsearch1=GUICtrlCreateButton("Durchsuchen",$awidh+560,$ahigh-4+$count)
GUICtrlDelete ($copyright)
GUICtrlDelete ($save)
GUICtrlDelete ($bearbeiten)
GUICtrlDelete ($abort)
GUICtrlDelete ($grafik7)
$grafik7=GUICtrlCreateGraphic(0,45+$count,700,1)
GUICtrlSetBkColor(-1, 0x000000)
$copyright=GUICtrlCreateLabel("Coded by Blackdeath911 and Vampyr1091",$awidh-6,$ahigh+55+$count)
$save=GUICtrlCreateButton("Einträge Speichern und Übernehmen",$awidh+320,$ahigh+40+$count)
$bearbeiten=GUICtrlCreateButton("Einträge Bearbeiten",$awidh+510,$ahigh+40+$count)
$abort=GUICtrlCreateButton("Abbrechen",$awidh+620,$ahigh+40+$count)
Case 0
$cursor1 = GUIGetCursorInfo($gui1)
If Not IsArray($cursor1) Then ContinueLoop
If $cursor1[4] = $addbuttons Then ; Maus über Label
If Not $hovered Then
GUICtrlSetColor($addbuttons,0x0000FF)
GUICtrlSetFont ($addbuttons,9,460,Default,"tahoma")
$hovered = True
EndIf
Else ; Maus nicht über Label
If $hovered Then
GUICtrlSetColor($addbuttons,0x000000)
GUICtrlSetFont ($addbuttons,8,460,Default,"tahoma")
$hovered = False
EndIf
EndIf
Case $abort
GUIDelete()
_gui()
Case $pfadsearch
$var1=FileOpenDialog("Bitte den Pfad des Programms auswählen","C:\","Ausführbares (*.exe)",1)
GUICtrlSetData($pfadin,$var1)
Case $picsearch
$var2=FileOpenDialog("Bitte den Pfad des Bildes auswählen","C:\","Bilder (*.jpg;*.bmp)",1)
GUICtrlSetData($picin,$var2)
Case $bearbeiten
MsgBox(0,"Comming Soon", "Diese Funktion ist noch nicht vorhanden")
Case $save
;speicherfunktion bitte hier
EndSwitch
WEnd
EndFunc
Bei einem macht er es nur größer aber die Controlls werden ganz verschoben und beim 2. wird die Gui kleiner?
MFG: Blacky911
Okay habe jetzt nur 1 Problem...
Die Gui muss sich ja mit den Buttons auch vergrößern ohne sie zu deleten und neu kommen zu lassen...
Finde da keine Passende funktion, oder gibt es sowas nicht?
MFG: Blacky911
Hey an alle
Habe mal wieder ein Problem...
Ich möchte in meiner Gui durch einen Klick auf ein laben mit dem Text [+] das sich eine bestimmte Buttonreihe kopiert und eine spalte unter der davorigen kommt...
Mein bisheriges Script sieht so aus:
Func _addprogramm()
Local $ahigh=10
Local $awidh=10
Local $count=0
Local $ghigh=80
Local $gwidh=700
GUICreate("Einträge Hinzufügen",$gwidh,$ghigh)
GUICtrlCreateLabel("Name:",$awidh,$ahigh+$count)
$namein=GUICtrlCreateInput("",$awidh+40,$ahigh-2+$count,120)
GUICtrlCreateLabel("Pfad:",$awidh+170,$ahigh+$count)
$pfadin=GUICtrlCreateInput("",$awidh+200,$ahigh-2+$count,120)
$pfadsearch=GUICtrlCreateButton("Durchsuchen",$awidh+325,$ahigh-4+$count)
GUICtrlCreateLabel("Bild:",$awidh+410,$ahigh+$count)
$picin=GUICtrlCreateInput("",$awidh+435,$ahigh-2+$count,120)
$picsearch=GUICtrlCreateButton("Durchsuchen",$awidh+560,$ahigh-4+$count)
$addbuttons=GUICtrlCreateLabel("[+]",$awidh+650,$ahigh+1+$count)
GUICtrlSetFont (-1,8,460,Default,"tahoma")
GUICtrlCreateButton("Einträge Speichern und Übernehmen",$awidh+320,$ahigh+40+$count)
GUICtrlCreateButton("Einträge Bearbeiten",$awidh+510,$ahigh+40+$count)
GUICtrlCreateButton("Abbrechen",$awidh+620,$ahigh+40+$count)
GUICtrlCreateGraphic(0,45,700,1)
GUICtrlSetBkColor(-1, 0x000000)
GUISetState()
;Schleife
While 1
$msg = GUIGetMsg()
;Switch $msg
Switch $msg
Case -3
GUIDelete()
;_gui()
Exit
EndSwitch
WEnd
EndFunc
Kann mir mal einer ein Beispiel geben wie ich das am besten mache das wenn man jetzt auf das label $addbuttons klickt das sich die oberen Buttons alle Dubliziert nochmal daruntersetzen?
Danke für die Hilfe
MFG: Blacky911
Habe es für meine bedürfnisse angepasst und funktioniert super
Dankeschön
MFG: Blacky911
Hallo,
Ich suche nach der Funktion für einen "Mouseover"
Ich möcht wenn man mit der maus über mein Label geht (sagen wir mal $label) das sich das Label dann Blau färbt und die Maus sich verändert in diese Hand.
Das mit der Farbe habe ich schon hinbekommen (GUICtrlSetColor($add,255)) aber wie ich das halt hinbekomme, dass isch dies nur aktiviert wenn man mit der Maus darübergeht weiß ich nicht.
MFG: Blacky911
Hat super geklappt doch irgendwie komm ich grad bei einem Fehler nicht weiter...
Könnt ihr mir grad mal helfen? ich sehs einfach nicht?
Er meint das die Variable nicht deklariert ist, was aber der Fall ist wenn in der data.ini folgendes steht:
Zitat[progname1]
progpfad=picpfad
[progname2]
progpfad=picpfad
[progname3]
progpfad=picpfad
Hier mein Quelltext:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <array.au3>
#include <EditConstants.au3>
#Include <GuiButton.au3>
#include <ListboxConstants.au3>
;GUICtrlSetPos
;globals
Global $label1
Global $gui
Global $startbutton
Global $aSize
Global $buttonhigh=70
Global $button1widht=10 ;startbutton
Global $mainguititle,$maininitext,$mainlabeltext,$mainsettingstext,$mainstarttext,$savebutton
;settings
$ininame="data"
$breite=300
$hoehe=105
$guititle="Mein auswahlfenster"
$labeltext="Progauswahl:"
$starttext="Starten"
$settingtext="Einstellungen"
If FileExists(@ScriptDir&"\"&$ininame) Then
$programms=IniReadSectionNames(@ScriptDir&"\"&$ininame&".ini")
Else
_addprogramm()
EndIf
_gui($guititle)
Func _gui($guititle)
$gui=GUICreate($guititle,$breite,$hoehe)
$label1=GUICtrlCreateLabel($labeltext, 10, 10)
GUICtrlSetFont (-1,8.9,460,4,"arial")
$grafik=GUICtrlCreatePic(@Scriptdir&"\pics\nopic.jpg",185,10,50,50) ;Bild erstellen
;BUTTONS
$startbutton=GUICtrlCreateButton($starttext,$button1widht,$buttonhigh)
$settings=GUICtrlCreateButton($settingtext,0,$buttonhigh)
;Combo box + Inhalte
$combo=GUICtrlCreateCombo($programms[1],10,38,155,Default,$LBS_STANDARD)
If UBound($programms) > 2 Then ;If nur 1 Programm eingetragen
GuiCtrlsetdata(-1,_ArrayToString($programms,"|", 2))
EndIf
;Button 2 Setzen
$aSize = _GUICtrlButton_GetIdealSize($startbutton)
GUICtrlSetPos($settings, $aSize[0] + $button1widht+10,$buttonhigh)
;GUI
GUISetState()
;Schleife
While 1
$msg = GUIGetMsg()
;Switch $msg
Switch $msg
Case -3
Exit
Case $settings
GUIDelete()
_settings()
EndSwitch
WEnd
EndFunc
Func _settings()
GUICreate("Einstellungen",300,200)
GUICtrlCreateLabel("Name des Hauptfensters:",5,10)
$mainguititle=GUICtrlCreateInput($guititle,135,8,157)
GUICtrlCreateLabel("Name des oberen Textes:",5,40)
$mainlabeltext=GUICtrlCreateInput($labeltext,135,38,157)
GUICtrlCreateLabel("Name des Startbuttons:",5,70)
$mainstarttext=GUICtrlCreateInput($starttext,135,68,157)
GUICtrlCreateLabel("Name des Settingsbuttons:",5,100)
$mainsettingstext=GUICtrlCreateInput($settingtext,135,98,157)
GUICtrlCreateLabel("Name der Speicherdatei:",5,130)
$maininitext=GUICtrlCreateInput($ininame,135,128,140)
GUICtrlCreateGraphic(5,160,290,1)
GUICtrlSetBkColor(-1, 0x000000)
GUICtrlCreateGraphic(0,159,5,3)
GUICtrlSetBkColor(-1, 0x000000)
GUICtrlCreateGraphic(295,159,5,3)
GUICtrlSetBkColor(-1, 0x000000)
$savebutton=GUICtrlCreateButton("Einstellungen Speichern und Übernehmen",46,170)
;GUI
[/autoit] [autoit][/autoit] [autoit]GUISetState()
;Schleife
While 1
$msg = GUIGetMsg()
;Switch $msg
Switch $msg
Case -3
Exit
Case $savebutton
;einstellungen in die INI schreiben
If $ininame=Guictrlread($maininitext)Then
sleep(1)
Else
If FileExists(@ScriptDir&"\"&$ininame)Then
Filemove(@ScriptDir&"\"&$ininame,@ScriptDir&"\"&Guictrlread($maininitext)&".ini")
EndIf
EndIf
;Iniwrite(
EndSwitch
WEnd
EndFunc
[/autoit] [autoit][/autoit] [autoit]Func _addprogramm()
[/autoit] [autoit][/autoit] [autoit]EndFunc
[/autoit]Und wie schon gesagt falls ihrs testen wollt müsst ihr nur die sachen in die data.ini im scriptverzeichniss packen...
Danke für die Hilfe
EDIT:
Fehler Behoben... Hab die data.ini Variabeln ein bisschen verändert und dann Funktionierte es... Aber kann mir mal einer sagen warum das so nicht funktionierte? mag der die 3 &´s nicht?
MFG: Blacky911
Hallo erstmal
Ich wollte mir grade ein kleines Tool zum starten von Software bauen.
Ich wollte so gut wie möglich alles Variabel machen da ich es nachher auch Public machen wollt bzw. andere es auch nutzen können sollen.
Also habe ich auch den Start Button name Variabel und den Settings Button name Variabel.
Somit verändern sich ja die Größen der Buttons, dh. wiederum das ich die Positionen nicht festlegen kann/darf
Wie kann ich es nun am besten lösen?
Gibts da etwas für?
Hier mien bissheriges Script (ist nur der Anfang wird noch viel drin gedreht)
[autoit]#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <array.au3>
;GUICtrlSetPos
;globals
Global $label1
Global $gui
Global $startbutton
;settings
$ininame="data.ini"
$breite=500
$hoehe=250
$guititle="Mein auswahlfenster"
$labeltext="Progauswahl:"
$starttext="Starten"
$settingtext="Einstellungen"
If FileExists(@ScriptDir&"\"&$ininame) Then
$programms=IniReadSectionNames(@ScriptDir&"\"&$ininame)
Else
_addprogramm()
EndIf
_gui($guititle)
Func _gui($guititle)
$gui=GUICreate($guititle,$breite,$hoehe)
$label1=GUICtrlCreateLabel($labeltext, 10, 10)
GUICtrlSetFont (-1,8.9,460,4,"arial")
$grafik=GUICtrlCreatePic(@Scriptdir&"\pics\nopic.*",185,10,50,50) ;Bild erstellen
;BUTTONS
$startbutton=GUICtrlCreateButton($starttext,70,70)
$settings=GUICtrlCreateButton($settingtext,150,70)
$combo=GUICtrlCreateCombo($programms[1],20,40,155)
If UBound($programms) > 2 Then
GuiCtrlsetdata(-1,_ArrayToString($programms,"|", 2))
EndIf
;GUI
GUISetState()
;Schleife
While 1
$msg = GUIGetMsg()
;Switch $msg
Switch $msg
Case -3
Exit
EndSwitch
WEnd
EndFunc
Func _addprogramm()
;Func for Addprogramm Button
EndFunc
Hoffe Ihr könnt mir helfen
MFG: Blacky911
Wird der Fehler mit dem X mit dem umschreiben von Exitloop nach Exit behoben oder ist er dann immernoch da?
MFG: Blacky911
Ich habe mal ein Programm auf Anfrage eines Freundes geschrieben...
Er wollte folgendes:
Zuerst wollte er einfach nur ein Programm mit 6 Buttons die auf klick jeweils ein Bestimmtes Programm öffnen... sehr simpel ich weiß. So jetzt hat er erkannt das wenn er das Prog weiterschickt die anderen es nicht nutzen können, da sie ja andere Pfade haben. Somit musste eine möglichkeit her die Pfade Variabel zu machen und somit kommt es zu dieser Version.
Jetzt sind es 6 Buttons die von vornherein leer sind und beim klick auf einen leeren button kann man ein Programm auswählen was auf diesem Button liegen soll.
Programmquellcode im Anhang
MFG: Blacky911
Danke so gehts habs somit
MFG: Blacky911
Hallo,
Ich möchte je nach dem Aktuellen status einer Combobox ein Bild in meiner kleinen GUI ändern lassen.
Hier mein aktuelles Script
im moment wird gar kein bild angezeigt weiß auch nich warum...
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <array.au3>
Global $Programme=29
Global $i=0
Global $grafik
Global $combo
Global $number
Global $nameProgramme[$Programme]
Global $Auswahlfenster
Global $breite=200,$hoehe=100,$abstandlinks=@DesktopWidth-1000,$abstandoben=@DesktopHeight-700
Global $combosys[$programme]
Global $pfad[$Programme]
;Programmnamen
_Programmauswahl ("Programmauswahl")
Func _Programmauswahl ($stitle)
$Auswahlfenster=GUICreate($stitle,$breite,$hoehe,$abstandlinks,$abstandoben)
GUICtrlCreateLabel("Programm auswählen", 10, 10)
GUICtrlSetFont (-1,8.9,460,4,"arial")
$Grafik=GUICtrlCreatePic(@Scriptdir&"\pics\accmanger.jpg",170,0,30,30);Bild erstellen
;========================;
;======Programmnamen=====;
;========================;
$nameProgramme[0]="Accountmanager"
$nameProgramme[1]="Ashampoo Burning Studio 9"
$nameProgramme[2]="CloneCD"
$nameProgramme[3]="CloneDVD2"
$nameProgramme[4]="Cyberlink PowerDVD"
$nameProgramme[5]="DVD Shrink"
$nameProgramme[6]="Everest Ultimate"
$nameProgramme[7]="FlashFXP"
$nameProgramme[8]="Foxit Phantom"
$nameProgramme[9]="Google Earth"
$nameProgramme[10]="ICQ 7"
$nameProgramme[11]="IrfanView"
$nameProgramme[12]="JDownloader"
$nameProgramme[13]="MBase 2"
$nameProgramme[14]="Media Player Classic Home Cinema"
$nameProgramme[15]="MediaMonkey"
$nameProgramme[16]="Mediaplayer Classic"
$nameProgramme[17]="Firefox"
$nameProgramme[18]="Thunderbird"
$nameProgramme[19]="Notepad++"
$nameProgramme[20]="Skype"
$nameProgramme[21]="Snagit 9"
$nameProgramme[22]="TeamSpeak 3"
$nameProgramme[23]="TeamViewer 5"
$nameProgramme[24]="TrueCrypt"
$nameProgramme[25]="TuneUp 2010"
$nameProgramme[26]="Virtual CloneDrive"
$nameProgramme[27]="Virtual DJ"
$nameProgramme[28]="VLC media player"
;========================;
;======Programmnamen=====;
;========================;
$pfad[0]=@ProgramFilesDir&"\Accountmanager\AccountManager.App.exe"
$pfad[1]=@ProgramFilesDir&"\Ashampoo\Ashampoo Burning Studio 9\burningstudio9.exe"
$pfad[2]=@ProgramFilesDir&"\SlySoft\CloneCD\CloneCD.exe"
$pfad[3]=@ProgramFilesDir&"\Elaborate Bytes\CloneDVD2\CloneDVD2.exe"
$pfad[4]=@ProgramFilesDir&"\CyberLink\PowerDVD\PowerDVD.exe"
$pfad[5]=@ProgramFilesDir&"\DVD Shrink DE\DVD Shrink 3.2 DE (DeCSS-frei).exe"
$pfad[6]=@ProgramFilesDir&"\Lavalys\EVEREST Ultimate Edition\everest.exe"
;$pfad[7]=@ProgramFilesDir&"\
$pfad[8]=@ProgramFilesDir&"\Foxit Software\Foxit Phantom\Foxit Phantom.exe"
$pfad[9]=@ProgramFilesDir&"\Google\Google Earth\earth.exe"
$pfad[10]=@ProgramFilesDir&"\ICQ7.0\ICQ.exe"
$pfad[11]=@ProgramFilesDir&"\IrfanView\i_view32.exe"
#cs
$pfad[12]=@ProgramFilesDir&"\JDownloader\JDownloader.exe"
$pfad[13]=@ProgramFilesDir&"\
$pfad[14]=@ProgramFilesDir&"\
$pfad[15]=@ProgramFilesDir&"\
$pfad[16]=@ProgramFilesDir&"\
$pfad[17]=@ProgramFilesDir&"\
$pfad[18]=@ProgramFilesDir&"\
$pfad[19]=@ProgramFilesDir&"\
$pfad[20]=@ProgramFilesDir&"\
$pfad[21]=@ProgramFilesDir&"\
$pfad[22]=@ProgramFilesDir&"\
$pfad[23]=@ProgramFilesDir&"\
$pfad[24]=@ProgramFilesDir&"\
$pfad[25]=@ProgramFilesDir&"\
$pfad[26]=@ProgramFilesDir&"\
$pfad[27]=@ProgramFilesDir&"\
$pfad[28]=@ProgramFilesDir&"\
#ce
$start=GUICtrlCreateButton("Starten",50,70,100,25)
$combo=GUICtrlCreateCombo($nameProgramme[0],20,40,155)
GuiCtrlsetdata(-1,_ArrayToString($nameProgramme,"|", 1,$Programme))
GUISetState()
While 1
$msg = GUIGetMsg()
Switch $msg
Case -3
Exit
Case $start
$combo=GUICtrlRead($combo)
For $i=0 to $Programme-1 step +1
If $combo=$nameProgramme[$i] Then
$number=$i
EndIf
Next
ShellExecute($pfad[$number])
Exit
EndSwitch
WEnd
EndFunc
MFG: Blacky
Hey Ich bedanke mich hiermit bei allen die mir geholfeen haben es hat nun nach langem hin und her geklappt
Vorgang von mir: Habe mir eine Win7 Untouched gemacht und damit die RoExAdd.exe mal wieder etwas rumprobiert... dann meine Scripts dort hinein und es startete
Alles läuft jetzt wie es eigendlich soll nurnoch kleinigkeiten und verschönerungen die getätigt werden müssen
Somit Thema erledigt...
MFG: Blacky
Also mit den Regestry einträgen habe ich das auch schon versucht wie ein par posts weiter oben beschrieben (dann halt auch anstatt den .lnk erstellt den regestry eintrag erstellt) dort kam aber die gleiche fehlermeldung...
Und zu dem RoExAdd.exe nen kumpel von mir (mit dem ich das zusammen mache) hat das schon ausporbiert gehabt hat er gesagt und meinte dort kam die gleiche fehlermeldung... (was ich aber nicht beweisen könnte)
Was kann ich noch tun um WIndows einfach nur zu sagen das der mein programm starten soll nachdem der das 1. mal gestartet hat... das kann doch nich so schwer sein...
MFG: Blacky
Hi habe es mal wieder versucht
Hier der Code von dem File das ich in die Setupcomplete.cmd verknüpft habe (als startup.exe)
[autoit]IF FileExists("C:\GUI3.6.exe") Then
If ProcessExists("explorer.exe")Then
run ("C:\GUI3.6.exe")
exit
EndIf
Else
FileCreateShortcut(@ScriptFullPath,@StartupDir & "\guistart.lnk","C:\")
Filecopy(@ScriptDir & "\GUI3.6.exe","C:\")
FileCopy(@ScriptDir & "\iniread.exe","C:\")
FileCopy(@ScriptDir & "\startup.exe","C:\")
EndIf
Exit
Soweit so gut auf meinem System wenn ich diese Exe ausführe macht er schön die verknüpfung und kopiert die Files...
Doch wenn ich es bei der Windows installation mache kopiert er die verknüpfung wunderbarer weise auch einfach auf c:\
die Frage: WARUM???
Ich komm einfach nicht weiter so sollte alles klappen und er das setup erst ausführen (GUI3.6.exe) wenn der prozess explorer.exe da ist... doch wenn dieser nicht im autostart ist kanns ja logischer weise auch nicht starten.. aber WARUM kopiert er die startup.exe verknüpfung auf C:\ ???
kann mir da wer helfen?
Edit:
Grade mal der installation komplett zugeschaut...
da wo das CMD fenster aufgeht und worin auch die startup.exe gestartet wird kommt folgender fehler:
[Blockierte Grafik: http://www.abload.de/img/screen1eg2m.png]
Was soll ich machen?
EDIT2:
Wo der Fehler noch nicht kam (bei der 1. installation mit dem script (wo diese Zeilen am anfang in der GUI standen (in abgewandelter form))) haben sich die dateien noch kopiert... doch jetzt wo der fehler da ist kommen selbst nichtmehr die Dateien in C:\
MFG: Blacky
Wie sähe denn so ein script aus was einen eintrag in der Registry macht das auch nur 1 Mal beim neustart die GUI von der CD startet (wo das CD laufwerk ja auch variabel ist)
habe noch nie etwas per autoit in den autostart bzw. registry geschrieben...
MFG: Blacky
Hey mir ist grade etwas aufgefallen....
so wie es jetzt geschrieben ist passiert ja folgendes:
Er öffnet das CMD fenster bei der überprüfung der Videoleistung
Da öffnet er anscheinend auch miene GUI was ich aber nicht sehe da er ja die Videoleistung überprüft
Nach der überprüfung der videoleistung stratet er die maschine neu...
DH: der start der GUI ist sinnlos gewesen?
Wie kann ich es machen das wenn ich zum 1. mal starte die GUI dort erst gestartet wird...?
MFG: Blacky
habe es mir grade nochmal angeguckt die cmd sieht ja so aus:
@echo off
%systemroot%\setup\scripts\bie7_inst.exe
for %%x in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%x:\sources\install.wim set SOURCE=%%x:
REM ------------ Hier zu startende Programme eintragen-------------------
start %SOURCE%\Addons\GUI.exe
REM ---------------------------------------------------------------------
del /F %0
der rot markierte bereich ? was macht der?
weil ich möchte nichts "installieren" ich möchte nur eine GUI starten wo man bestimmte sachen einstellen kann...
die CMD schmeißt er auch schon auf bei der INstallation wenn er die "viedeoleistung überprüft"
da kann er ja nicht wirklich meine GUI öffnen...
blickt da grade wer durch was ich meine? ich nämlich nichtmehr ganz...
MFG: Blacky