Exe mit Parametern

  • Guten Morgen.

    Ich habe mal eine Frage.

    Ich habe eine Exe Datei, an die muß ich jedes mal vier Parameter dran hängen.

    Mein GUI sieht so aus:

    Spoiler anzeigen

    #include <GuiConstants.au3>

    GuiCreate("Dänisch", 385, 221,-1, -1 , BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS))

    $Group_1 = GuiCtrlCreateGroup("daenisch.exe", 10, 10, 360, 140)

    $Input_2 = GuiCtrlCreateInput('"ali_han"', 100, 30, 260, 20)
    $Input_3 = GuiCtrlCreateInput('"134724"', 100, 60, 260, 20)
    $Input_4 = GuiCtrlCreateInput('"Text 1"', 100, 90, 260, 20)
    $Input_5 = GuiCtrlCreateInput('"Text 2"', 100, 120, 260, 20)

    $Label_6 = GuiCtrlCreateLabel("Namenskürzel", 20, 35, 70, 20)
    $Label_7 = GuiCtrlCreateLabel("Sende-Nr.:", 20, 65, 60, 20)
    $Label_8 = GuiCtrlCreateLabel("Text-A", 20, 95, 60, 20)
    $Label_9 = GuiCtrlCreateLabel("Text-B", 20, 125, 60, 20)

    $Button_10 = GuiCtrlCreateButton("OK", 180, 160, 190, 40)
    $Pic_11 = GuiCtrlCreatePic("Pic11", 20, 160, 140, 50)

    GuiSetState()
    While 1
    $msg = GuiGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case Else
    ;;;
    EndSelect
    WEnd
    Exit

    So schreibe ich das unter Dos / CMD
    daenisch.exe "ali_han" "134724" "diese können endlich landsein" "dieses kann auch sehr lang sein"

    Die Felder 2-4 verändern sich fast jedes mal, das erste ab und an.
    Feld 3 und 4 können sehr lang sein, müssen aber ohne Unterbrechung als Parameter übergeben werden.

    Wie mache ich es jetzt, wenn ich auf den Button ($Button_10) drücke, das er die Felden die ich ausgefüllt habe (mit Anführungszeichen) direkt an die daenisch.exe hängt.

    Für Hilfe wäre ich sehr dankbar.

    Euch allen mal ein schönes Wochenende !!!!

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

    Einmal editiert, zuletzt von Alina (21. April 2007 um 02:29)

    • Offizieller Beitrag

    Hallo!

    So sollte es gehen, in den Paramter $strProgrammPath (am Anfang) musst Du noch den Pfad zum Programm Daenisch.exe eintragen. Wenn die Gui im gleichen Verzeichnis liegt kannst Du den Paramter so lassen.

    Spoiler anzeigen
    [autoit]


    #include <GuiConstants.au3>

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

    Dim $strParams ; Variable für Parameterstring
    Dim $strProgrammPath = "" ; Pfad zum Programm Daenisch.exe (mit abschliessemdem "\")

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

    GuiCreate("Dänisch", 385, 221,-1, -1 , BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS))

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

    $Group_1 = GuiCtrlCreateGroup("daenisch.exe", 10, 10, 360, 140)

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

    $Input_2 = GuiCtrlCreateInput('ali_han', 100, 30, 260, 20)
    $Input_3 = GuiCtrlCreateInput('134724', 100, 60, 260, 20)
    $Input_4 = GuiCtrlCreateInput('Text 1', 100, 90, 260, 20)
    $Input_5 = GuiCtrlCreateInput('Text 2', 100, 120, 260, 20)

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

    $Label_6 = GuiCtrlCreateLabel("Namenskürzel", 20, 35, 70, 20)
    $Label_7 = GuiCtrlCreateLabel("Sende-Nr.:", 20, 65, 60, 20)
    $Label_8 = GuiCtrlCreateLabel("Text-A", 20, 95, 60, 20)
    $Label_9 = GuiCtrlCreateLabel("Text-B", 20, 125, 60, 20)

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

    $Button_10 = GuiCtrlCreateButton("OK", 180, 160, 190, 40)
    $Pic_11 = GuiCtrlCreatePic("Pic11", 20, 160, 140, 50)

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

    GuiSetState()
    While 1
    $msg = GuiGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop

    Case $msg = $Button_10
    $strParams = '"' & GUICtrlRead($Input_2) & '" ' & _
    '"' & GUICtrlRead($Input_3) & '" ' & _
    '"' & GUICtrlRead($Input_4) & '" ' & _
    '"' & GUICtrlRead($Input_5) & '"'

    ShellExecute($strProgrammPath & "daenisch.exe", $strParams, $strProgrammPath) ; ausführen mit ShellExecute oder
    ;~ Run($strProgrammPath & "daenisch.exe " & $strParams, $strProgrammPath) ; mit Run
    Case Else
    ;;;
    EndSelect
    WEnd
    Exit

    [/autoit]

    Ich habs übrigens so abgeändert das Du in der Gui keine Anführungszeichen mehr schreiben musst!

  • Hallo Bernd670.

    Vielen Dank. Hat alles super geklappt.

    Liebe Grüße, Lina

    P.S. Wie schließt man eigentlicht Beitröge?

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Weiß nicht ob "normale" user es jetzt können - is auf jeden fall auf der forum-todo-liste (hübsch, gell?^^).


    Wenns geht, den ersten beitrag editieren - dort sollte das präfix änderbar sein!

    mfg

    huggy

  • Hallo Huggy.

    Ja, das ist sehr schön, das es auf der Todo-Liste ist.

    Liebe Grüße, Lina.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • also als ich meinen beitrag deswegen editieren wollte, ging es nicht. aber sofern man der threadersteller ist, kann man ganz nach unten scrollen, wo ein dropdown-menü "weitere optionen" existiert.

    dort über "thema bearbeiten" konnte man es ändern.

    stimmt das jetzt so ??? *g*


    Edit BugFix: Ja, so ist's richtig. Jeder Threadersteller kann seinen Beitrag auf diese Weise als gelöst markieren. Bitte auch tun ;)