Programm aus Programm starten funktioniert nicht ganz

  • Hallo zusammen.

    Ich möchte gerne ein Programm über einen bestimmten Menü Aufruf des Hauptprogrammes starten und wenn dies geschehen ist, das Hauptprogramm in der Task leiste minimieren, was auch funktioniert.

    Nun ist es so, das es mit einigen Programmen geht ( Das aufrufen), aber bei einem eben der Fehler kommt, das es wenn ich es über das Hauptprogramm aufrufe die Ini Dateien nicht lesen kann, wenn ich es jedoch
    ohne das Hauptprogramm starte, alles funktioniert.
    Die Ini Datein liegen in dem aufzurufendem Programm selber, weswegen ich auch nicht verstehe, warum es bei einzel Aufruf geht, jedoch über start des anderen Programmes auf einmal nicht.
    Aufgerufen bzw gestartet wird das Programm über folgenden Befehl im Hauptprogramm (der das Hauptprog auch minimiert was auch klappt:

    Spoiler anzeigen
    [autoit]

    Func HANDELSTOOL()
    $pid = Run($SCRIPTPATH & "Data\Tools\Handelstool Fensterversion\Handelstool.exe")
    GUISetState(@SW_MINIMIZE)
    Do
    Sleep(100)
    Until Not ProcessExists($pid)
    GUISetState(@SW_RESTORE)
    EndFunc

    [/autoit]


    Die Fehler die kommen sind:
    1.Could not open file data\ini\StaedteHandelstool.ini
    2.Could not open file data\ini\Waren.ini
    Wie gesagt, der weg zu den Ini Datein die das aufgerufene Programm braucht liegt in diesem selber und wird von diesem aufgerufen bei start. (Bei alleinigen Aufruf ohne Hauptprogramm geht das alles)
    Mit einem Anderen Programm geht es ohne Probleme, bei selbigen Function des Aufrufens über das Hauptprogramm.
    Das Programm um welches es geht liegt bei als rar Datei.

    Ich hoffe jemand weiss einen Rat.

    Mfg Ghostleader

  • Höchstwarscheinlich musst du das "working dir" anpassen der zweite parameter von Run("program" ,"workingdir") sonst wird das Programm im gleichen Pfad wie dein Hauptprogramm ausgeführt also in etwa so

    [autoit]

    Run($SCRIPTPATH & "Data\Tools\Handelstool Fensterversion\Handelstool.exe",$SCRIPTPATH & "Data\Tools\Handelstool Fensterversion\")

    [/autoit]
    • Offizieller Beitrag

    Hallo,

    du hast 2 Möglichkeiten, entweder du schreibst im Programm HandelsTool

    AutoIt
    Global $fileName = @ScriptDir & "\data\ini\StaedteHandelstool.ini"
    Global $fileNameWare = @ScriptDir & "\data\ini\Waren.ini"

    oder du rufst das Programm so auf

    [autoit]

    $pid = Run($SCRIPTPATH & "Data\Tools\Handelstool Fensterversion\Handelstool.exe", $SCRIPTPATH & "Data\Tools\Handelstool Fensterversion\")

    [/autoit]