Programmauswahl

  • Hallo,
    kann mir jemand eventuell ein kleines Script schreiben, mit dem ich Programme auswählen kann?

    Ich stelle mir das so vor:

    Ein kleines Gui,
    Eine kleine Grafik ca. 143px × 67px groß
    Darunter zwei Buttons:

    "Programm 1 Starten" "Programm 2 starten"
    Die Programme befinden sich im selbern Ordner wie auch das Script dann.

    Wäre total dankbar dafür!

  • Werde mich den mal annehmen!
    Danke!

    Edit.//
    Also ich bekomme das nicht hin. Kann da keiner ein Script schreiben? Sollte doch schnell gehen wenn es jemand kann! Ich weis nicht wie man Grafiken einfügt und auch nicht wie man 2 Buttons erstellt, mit welchen man dann 2 verschiedene Programm via Klick starten kann!

    Einmal editiert, zuletzt von Sumale.nin (28. Dezember 2009 um 11:32)

  • Bitte schau dir doch mal die Hilfe an.
    Das Bsp. zu GUICtrlCreateButton passt 1:1
    Grafiken kannst du mit GUICtrlCreatePic einfügen

  • Kleine Starthilfe.

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 418, 267, 192, 132)
    $Button1 = GUICtrlCreateButton("Programm2", 232, 136, 153, 65, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Programm1", 24, 136, 153, 65, $WS_GROUP)
    $Pic1 = GUICtrlCreatePic("", 24, 40, 145, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS)) ;Pfad zum Bild noch eintragen (s. Hilfe)
    $Pic2 = GUICtrlCreatePic("", 232, 40, 153, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS)) ;Pfad zum Bild noch eintragen (s. Hilfe)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    case $Button1
    MsgBox(1, "", "Button1 wurde gedrückt")
    Run("Pfad des Programms") ; um das Programm zu starten, Pfad natürlich noch eingeben
    case $button2
    MsgBox(1, "", "Button2 wurde gedrückt")
    Run("Pfad des Programms") ; um das Programm zu starten, Pfad natürlich noch eingeben
    EndSwitch
    WEnd

    [/autoit]


    Für alles weitere muss aber bisschen mehr von dir kommen ;)

  • Das werde ich testen!
    Vielen dank!

    SUPER SACHE!
    Habe alles bestens hinbekommen! So hatte ich mir das vorgestellt!
    Danke für den Anschub!!!

    Einmal editiert, zuletzt von Sumale.nin (29. Dezember 2009 um 20:29)

  • Habe jetzt nur ein Problem.
    Wenn die erstellte EXE im Verzeichnis liegt wo auch die anderen EXEn liegen, dann geht das. Wenn ich jetzt meinen Loader in dem Verzeichnis liegen habe wo auch die anderen EXEn liegen und eine Verknüpfung auf dem Desktop erstelle, dann können die EXEn nicht gefunden werden und auch das Bild wird nicht mehr angezeigt...

    Der Code:

    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=C:\Users\Sumale.nin\Desktop\Webseite\Grafiken\L4D2-Grafiken\Ico\Left4Dead2B.ico
    #AutoIt3Wrapper_Compression=4
    #AutoIt3Wrapper_Res_Language=3079
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Left 4 Dead 2 - Retro Campagne STARTER v1.0", 418, 330, 192, 130)
    $Button1 = GUICtrlCreateButton("Neo IV Launcher", 232, 136, 153, 65, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("geodreieck24 Loader", 24, 136, 153, 65, $WS_GROUP)
    $Button3 = GUICtrlCreateButton("L4D2 Settings", 119, 278, 153, 45, $WS_GROUP)
    $Pic1 = GUICtrlCreatePic("C:\Users\Sumale.nin\Desktop\l4d2.jpg", 74, 20, 256, 256, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS)) ;Pfad zum Bild noch eintragen (s. Hilfe)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    case $Button1
    MsgBox(1, "Neo IV Launcher", "Dieser Launcher beinhaltet mehr Funktionen und ist für die Perfektionierer unter euch bestens geeignet!")
    Run("NeosLauncher.exe") ; um das Programm zu starten, Pfad natürlich noch eingeben
    case $button2
    MsgBox(1, "geodreicke24 Loader", "Dieser Loader ist einfach gestrickt und reicht für den Normalen Gebrauch völlig aus!")
    Run("l4d2loader.exe") ; um das Programm zu starten, Pfad natürlich noch eingeben
    case $button3
    MsgBox(1, "Left 4 Dead 2 - Settings", "Mit diesem Tool kannst du dein Name und die Sprache des spiels verstellen!")
    Run("L4D2Settings.exe") ; um das Programm zu starten, Pfad natürlich noch eingeben
    EndSwitch
    WEnd

    [/autoit]
  • Aber das ändert sich ja bei anderen...
    wie mache ich das dann?

    vllt hilft es ja weiter, dass eine left4dead2.exe vorhanden sein muss!

  • Dann mach es doch so das du den Benutzer erst die jeweilige exe zum Programm raussuchen lässt und diese dann in einer ini im Programmauswahl.exe ordner speicherst.
    So würde ich das zumindest machen
    Als kleines Beispiel:

    [autoit]

    #include <GUIConstants.au3>
    #Include <File.au3>

    [/autoit][autoit][/autoit][autoit]

    GUICreate("Test", 120, 70)
    Opt("GuiOnEventMode", 1)

    [/autoit][autoit][/autoit][autoit]

    GUISetState()

    [/autoit][autoit][/autoit][autoit]

    $test = GUICtrlCreateButton ("Pfad Auswählen", 20,20)
    GUICtrlSetOnEvent ($test,"Folder")
    $end = GUICtrlCreateButton ("Exit", 20,45)
    GUICtrlSetOnEvent ($end,"out")

    [/autoit][autoit][/autoit][autoit]

    Func out ()
    Exit
    EndFunc

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Func Folder ()
    $Pfad = FileSelectFolder("PFad auswählen","")

    Msgbox (1,"Test",$Pfad)
    IniWrite ("test.ini","Beispiel Sektion","Pfadname",$Pfad)

    EndFunc

    [/autoit][autoit][/autoit][autoit]

    While 1
    sleep (100)
    Wend

    [/autoit]


    Bei diesem Script wählste über einen Button den Pfad aus ... im nächsten Schritt wird er dir als MsgBox angezeigt und in der ini gespeichert
    MfG Prixma

    Einmal editiert, zuletzt von Prixma (29. Dezember 2009 um 23:13)

  • Wie baue ich das dann in dem gesamten Script ein?
    So das die Ini auch wieder ausgelesen wird?

    Aktuelles Script sieht so aus:

    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=C:\Users\Sumale.nin\Desktop\Webseite\Grafiken\L4D2-Grafiken\Ico\Left4Dead2B.ico
    #AutoIt3Wrapper_Compression=4
    #AutoIt3Wrapper_Res_Language=3079
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Left 4 Dead 2 - Retro Campagne STARTER v1.0", 418, 330, 192, 130)
    $Button1 = GUICtrlCreateButton("Neo IV Launcher", 232, 136, 153, 65, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("geodreieck24 Loader", 24, 136, 153, 65, $WS_GROUP)
    $Button3 = GUICtrlCreateButton("L4D2 Settings", 119, 278, 153, 45, $WS_GROUP)
    $Pic1 = GUICtrlCreatePic("C:\Users\Sumale.nin\Desktop\l4d2.jpg", 74, 20, 256, 256, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS)) ;Pfad zum Bild noch eintragen (s. Hilfe)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    case $Button1
    MsgBox(1, "Neo IV Launcher", "Dieser Launcher beinhaltet mehr Funktionen und ist für die Perfektionierer unter euch bestens geeignet!")
    Run("NeosLauncher.exe") ; um das Programm zu starten, Pfad natürlich noch eingeben
    case $button2
    MsgBox(1, "geodreicke24 Loader", "Dieser Loader ist einfach gestrickt und reicht für den Normalen Gebrauch völlig aus!")
    Run("l4d2loader.exe") ; um das Programm zu starten, Pfad natürlich noch eingeben
    case $button3
    MsgBox(1, "Left 4 Dead 2 - Settings", "Mit diesem Tool kannst du dein Name und die Sprache des spiels verstellen!")
    Run("L4D2Settings.exe") ; um das Programm zu starten, Pfad natürlich noch eingeben
    EndSwitch
    WEnd

    [/autoit]
  • Eigentlich sollte es so gehen.
    Du musst das dann halt nur noch für die anderen Buttons machen.

    Aber irgendwie schreibt der das bei mir nicht in die Ini datei rein. Weiß evtl einer warum er das nicht tut?
    Wenn ich FileSelectFolder nehme schreibt er den Pfad rein. Aber so nicht.

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****[autoit]#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=C:\Users\Sumale.nin\Desktop\Webseite\Grafiken\L4D2-Grafiken\Ico\Left4Dead2B.ico
    #AutoIt3Wrapper_Compression=4
    #AutoIt3Wrapper_Res_Language=3079
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include
    #include
    #include
    #include

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Left 4 Dead 2 - Retro Campagne STARTER v1.0", 418, 330, 192, 130)
    $Button1 = GUICtrlCreateButton("Neo IV Launcher", 232, 136, 153, 65, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("geodreieck24 Loader", 24, 136, 153, 65, $WS_GROUP)
    $Button3 = GUICtrlCreateButton("L4D2 Settings", 119, 278, 153, 45, $WS_GROUP)
    $Button4 = GUICtrlCreateButton("...", 277, 278, 40, 45, $WS_GROUP)
    $Pic1 = GUICtrlCreatePic("C:\Users\Sumale.nin\Desktop\l4d2.jpg", 74, 20, 256, 256, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS)) ;Pfad zum Bild noch eintragen (s. Hilfe)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    case $Button1
    MsgBox(1, "Neo IV Launcher", "Dieser Launcher beinhaltet mehr Funktionen und ist für die Perfektionierer unter euch bestens geeignet!")
    Run("NeosLauncher.exe") ; um das Programm zu starten, Pfad natürlich noch eingeben
    case $button2
    MsgBox(1, "geodreicke24 Loader", "Dieser Loader ist einfach gestrickt und reicht für den Normalen Gebrauch völlig aus!")
    Run("l4d2loader.exe") ; um das Programm zu starten, Pfad natürlich noch eingeben
    case $button3

    [/autoit] [autoit][/autoit] [autoit]

    $iPfad1 = IniRead ("loader.ini","Pfad","L4D2Settings","default")
    MsgBox(1, "Left 4 Dead 2 - Settings", "Mit diesem Tool kannst du dein Name und die Sprache des spiels verstellen!")
    Run($iPfad1) ; um das Programm zu starten, Pfad natürlich noch eingeben

    [/autoit] [autoit][/autoit] [autoit]

    ; ===== Pfadauswahl =====
    case $Button4
    $Pfad1 = FileOpenDialog ("Datei Auswählen","","Anwendungen (*.exe)",1)
    IniWrite ("loader.ini","Pfad","L4D2SettingsPfad",$Pfad1)
    ; ===== Ende Pfadauswhal =====

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit]

    Wenn ich nach FileOpenDialog eine MsgBox setzte und dort als Ausgabe den wert $Pfad1 nehme zeigt es mir diesen auch korrekt an ... aber in die Ini schreibt er das nicht X(

    Einmal editiert, zuletzt von Prixma (30. Dezember 2009 um 13:09)

  • Wenigstens ist das schon eingabaut :D HAMMER!
    Wenn es mit dem schreiben der ini noch Probleme gibt, warte ich bis sich ein Experte noch dazu meldet!

    Danke aber schon für alles!

    Gubt es hier schon etwas neues ?
    :D. Warum schreibt das einfach nichts in die INI?

    Einmal editiert, zuletzt von Sumale.nin (30. Dezember 2009 um 22:18)

  • Gibt es da schon eine Lösung?

  • Reinschrreiben tut er :D
    Geile Sache

    Aber ein Problem gibt es immernoch.
    Button 3 kann man nicht öffnen, also die L4D2Settings.exe...
    was ist denn da das Problem?

    Wenn nochmal jeman darüber schauen kann!?

    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****[autoit]#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=C:\Users\Sumale.nin\Desktop\Webseite\Grafiken\L4D2-Grafiken\Ico\Left4Dead2B.ico
    #AutoIt3Wrapper_Compression=4
    #AutoIt3Wrapper_Res_Language=3079
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Left 4 Dead 2 - Retro Campagne STARTER v1.0", 418, 330, 192, 130)
    $Button1 = GUICtrlCreateButton("Neo IV Launcher", 232, 136, 153, 65, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("geodreieck24 Loader", 24, 136, 153, 65, $WS_GROUP)
    $Button3 = GUICtrlCreateButton("L4D2 Settings", 119, 278, 153, 45, $WS_GROUP)
    $Button4 = GUICtrlCreateButton("...", 277, 278, 40, 45, $WS_GROUP)
    $Pic1 = GUICtrlCreatePic("C:\Users\Sumale.nin\Desktop\l4d2.jpg", 74, 20, 256, 256, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS)) ;Pfad zum Bild noch eintragen (s. Hilfe)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    case $Button1
    MsgBox(1, "Neo IV Launcher", "Dieser Launcher beinhaltet mehr Funktionen und ist für die Perfektionierer unter euch bestens geeignet!")
    Run("NeosLauncher.exe") ; um das Programm zu starten, Pfad natürlich noch eingeben
    case $button2
    MsgBox(1, "geodreicke24 Loader", "Dieser Loader ist einfach gestrickt und reicht für den Normalen Gebrauch völlig aus!")
    Run("l4d2loader.exe") ; um das Programm zu starten, Pfad natürlich noch eingeben
    case $button3
    MsgBox(1, "geodreicke24 Loader", "Dieser Loader ist einfach gestrickt und reicht für den Normalen Gebrauch völlig aus!")
    Run("L4D2Settings.exe") ; um das Programm zu starten, Pfad natürlich noch eingeben

    [/autoit][autoit][/autoit][autoit]

    $iPfad1 = IniRead ("loader.ini","Pfad","left4dead2","default")
    MsgBox(1, "Left 4 Dead Settings", "Mit diesem Tool kannst du dein Name und die Sprache des spiels verstellen!")
    Run($iPfad1) ; um das Programm zu starten, Pfad natürlich noch eingeben

    [/autoit][autoit][/autoit][autoit]

    ; ===== Pfadauswahl =====
    case $Button4
    $Pfad1 = FileOpenDialog ("Datei Auswählen","","Anwendungen (*.exe)",1)
    IniWrite(@ScriptDir & "\loader.ini", "Pfad", "L4D2SettingsPfad", $Pfad1)
    ; ===== Ende Pfadauswhal =====

    [/autoit][autoit][/autoit][autoit]

    EndSwitch
    WEnd

    [/autoit]

    Einmal editiert, zuletzt von Sumale.nin (4. Januar 2010 um 18:37)

  • So sollte es funktionieren.
    Als Beispiel für Button 3.

    [autoit]

    case $button3
    $iPfad = IniRead (@ScriptDir & "loader.ini","Pfad","L4D2Settings","default")

    [/autoit][autoit][/autoit][autoit]

    MsgBox(1, "Left 4 Dead 2 - Settings", "Mit diesem Tool kannst du dein Name und die Sprache des spiels verstellen!")
    Run($iPfad) ; um das Programm zu starten, Pfad natürlich noch eingeben
    ; ===== Pfadauswahl =====
    case $Button4
    $Pfad = FileOpenDialog ("Datei Auswählen","","Anwendungen (*.exe)",1)

    [/autoit][autoit][/autoit][autoit]

    IniWrite (@ScriptDir & "loader.ini","Pfad","L4D2Settings",$Pfad)
    ;===== Ende Pfadauswhal =====

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit]

    2 Mal editiert, zuletzt von Prixma (1. Januar 2010 um 17:16)