Hallo, ich will via QProcess eine exe-Datei starten, die sich im selben Ordner wie das Qt-Programm befindet. Leider passiert beim Buttonklick aber gar nichts, nur Windows-Programme wie "notepad.exe" funktionieren, wohl weil sie in die PATH-Systemvariable eingetragen sind. error() liefert immer "5" zurück, also unknown error - jedoch unabhängig ob das Programm startet (notepad.exe) oder nicht (mein eigenes Programm). Hab auch mal setWorkingDirectory() versucht, sowie den vollen Pfad vor die .exe gehängt, alles ohne Erfolg.
Meine Idee:
Der QProcess bekommt ein eigenes Environment und weiss nichts vom Directory, wo das Programm liegt.
Also das Programm-Verzeichnis über QDir herauslesen und dem QProcess mitgeben.
Danke für die Antwort, hab ich aber auch schon probiert (per direkte Pfadangabe). Habe sogar die .exe mal nach C:\ kopiert und dann eben "C:\programm.exe" übergeben, passiert auch nichts.
Hast Du es schonmal mit einer anderen Applikation probiert die keine Dependencies hat? Außerdem - wie überprüfst Du die Fehler? connect mit QProcess:finished() ? Benutzt Du QProcess::waitForStarted ()? Zeig uns mal etwas mehr Code.
mhm. Lag tatsächlich an den Dependencies. Naja, am Ende werden sowieso beide .exe's im selben Ordner landen, daher wird das kein Problem darstellen. Seltsam, ich hätte damit gerechnet, dass die gleichen Fehlermeldungen kommen, wie wenn ich die Programm-Exe in einem "falschen" Verzeichnis starte. Dass da dann aber überhaupt nichts kommt ist komisch - aber jetzt ist auch klar, warum er mir keinen Fehler angezeigt hat.