Run funktion geht nicht?

  • Hi leute ich versuche die ganze zeit eine exe zu starten aber es geht nicht...

    Also ich wollte es so machen wenn man button 1 klickt startet die exe wenn man button 2 klickt ne andere usw^^

    und kann man villt so machen das wenn man button 1 gestartet hat, und man gleichzeitig button 2 starten will, das dann ein fenster kommt wo dran steht bitte warte bis button 1 fertig ist.

    Hier mein Code: ( die exen die er starten soll hab ich auf rechner!! )

    [autoit]

    #include <GUIConstants.au3>
    #include <Process.au3>

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

    $Visit = "http://ps-evolution.in"

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

    $render = FileInstall("J:\PROGRAMME\AUTOIT\Gfx Download\render.exe", @TempDir & "\render.exe")
    $brush = FileInstall("J:\PROGRAMME\AUTOIT\Gfx Download\brush.exe", @TempDir & "\brush.exe")
    $font = FileInstall("J:\PROGRAMME\AUTOIT\Gfx Download\font.exe", @TempDir & "\font.exe")
    $ps = FileInstall("J:\PROGRAMME\AUTOIT\Gfx Download\ps.exe", @TempDir & "\ps.exe")

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;erstellt das Interface!
    $Form1 = GUICreate("Gfx Pack", 202, 250, 400, 316)
    GUISetBkColor(0x839ED4)
    $Button1 = GUICtrlCreateButton("Download: Ultimate Render Pack", 8, 56, 185, 33, 0)
    GUICtrlSetCursor (-1, 0)
    $Button2 = GUICtrlCreateButton("Download: Ultimate Brushes Pack", 8, 96, 185, 33, 0)
    GUICtrlSetCursor (-1, 0)
    $Button3 = GUICtrlCreateButton("Download: Ultimate Font Pack", 8, 136, 185, 33, 0)
    GUICtrlSetCursor (-1, 0)
    $Button4 = GUICtrlCreateButton("Download: PhotoShop Portable", 8, 176, 185, 33, 0)
    GUICtrlSetCursor (-1, 0)
    $Label1 = GUICtrlCreateLabel("::::::::: Ultimate Gfx Pack :::::::::", 24, 32, 149, 17)
    $MenuItem1 = GUICtrlCreateMenu("Gfx Menü")
    $MenuItem3 = GUICtrlCreateMenuItem("Ps-Evolution", $MenuItem1)
    $MenuItem2 = GUICtrlCreateMenuItem("About", $MenuItem1)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    MsgBox(64, "Über...", "Ultimate Gfx Pack" & @CRLF & "Version 1.0" & @CRLF & "" & @CRLF & "Copyright © 2008" & @CRLF & "By Slash & Hunger")
    EndSwitch
    If $nMsg = $MenuItem3 Then
    _RunDOS("start " & $Visit)
    EndIf
    If $nMsg = $Button1 Then
    Run($render)
    EndIf
    If $nMsg = $Button2 Then
    Run($brush)
    EndIf
    If $nMsg = $Button3 Then
    Run($font)
    EndIf
    If $nMsg = $Button4 Then
    Run($ps)
    EndIf
    WEnd
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    [/autoit]
  • wenn ich die Variable mal ersetze, sieht dein Run-Befehl so aus:

    Spoiler anzeigen

    Run(FileInstall("J:\PROGRAMME\AUTOIT\Gfx Download\render.exe", @TempDir & "\render.exe"))


    Meinst Du, dass kann so funktionieren ?(

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • ich versuche mal anders zu erklären...
    ich würde das so machen

    Spoiler anzeigen
    [autoit]

    $render = @TempDir & "\render.exe"
    FileInstall("J:\PROGRAMME\AUTOIT\Gfx Download\render.exe", $render)

    [/autoit]


    Dein Aufruf zur exe sieht dann so aus, wenn ich den Variablenwert mal ersetze: :D

    Spoiler anzeigen
    [autoit]

    If $nMsg = $Button1 Then
    Run(@TempDir & "\render.exe")
    EndIf

    [/autoit]


    Für das FileInstall brauchst Du doch keine Variable...

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Dein Problem ist, FileInstall liefert nur 0 oder 1 zurück. Run benötigt aber den Dateinamen und -pfad.
    Also:

    [autoit]

    Run(@TempDir & "\Render.exe")

    [/autoit]