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

    über mich...

    ich habe meine Erfahrungen hauptsächlich gesammelt in (grobe Übersicht):

    - RibbonBar Automation
    - MySQL Nutzung
    - GUIs in vielerlei Ausprägung
    - Nutzung von Powershell / Batch in AutoIt
    - Windows Automatisierung

    außerhalb von AutoIt:

    - Sprachen: PS, Batch, php, html(5), javascript, (perl eingeschränkt), vbs
    - Powershell (AD, WPF inkl. Multi-Threading, ...)
    - Deployment-Automatisierung ohne SCCM
    - Office-Nutzung mit COM-Object (AutoIt, PowerShell)
    - ActiveDirectory und alles was damit zusammenhängt
    - Hyper-V Clustering (Converged / Hyper Converged)
    - Serverhardware (Konfiguration, Aufbau, Architektur, Betrieb)

    Lieblingsthema:

    günstige Automatisierung von Vorgängen, für die andere Firmen viel Geld nehmen

    more to come ...

  • 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

    über mich...

    ich habe meine Erfahrungen hauptsächlich gesammelt in (grobe Übersicht):

    - RibbonBar Automation
    - MySQL Nutzung
    - GUIs in vielerlei Ausprägung
    - Nutzung von Powershell / Batch in AutoIt
    - Windows Automatisierung

    außerhalb von AutoIt:

    - Sprachen: PS, Batch, php, html(5), javascript, (perl eingeschränkt), vbs
    - Powershell (AD, WPF inkl. Multi-Threading, ...)
    - Deployment-Automatisierung ohne SCCM
    - Office-Nutzung mit COM-Object (AutoIt, PowerShell)
    - ActiveDirectory und alles was damit zusammenhängt
    - Hyper-V Clustering (Converged / Hyper Converged)
    - Serverhardware (Konfiguration, Aufbau, Architektur, Betrieb)

    Lieblingsthema:

    günstige Automatisierung von Vorgängen, für die andere Firmen viel Geld nehmen

    more to come ...

  • 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]