[C] Abfangen eines Exit Codes einer anderen .exe Datei

Dorschty

Erfahrenes Mitglied
Hallo,

hab ein Problem. Ich rufe aus einer Anwendung eine externe .exe Datei auf und müsste den Exit Code dieser .exe abfangen und in meiner Anwendung auswerten.
Habt ihr Ideen oder Tipps, wie ich das machen könnte?

Danke im Voraus

Gruß
Dorschty
 
Den Exitcode kannst du abfragen wenn du das Programm selber startest, ansonsten bin ich mir nicht sicher, aber std::system() gibt ihn zurück und aus createProcess bekommt man ihn sicher auch raus, aber CreateProcess is nen Monster
 
Danke für deine Antwort!

Ich benutze CreateProcess! Warum ist das ein Monster und wie bekomme ich den da raus? Finde nämlich nix!
 
Perfekt! Vielen Dank!

Hab nämlich in der msdn und überall geguckt! In der msdn ist dann anscheinend ein Fehler!
Bei der Funktion GetExitCodeProcess will er nach msdn ein HANDLE und LPDWORD als Parameter! Aber mit einem LPDWORD hat es nicht funktioniert! Da ist mir das ganze Programm absgestürzt! Wichtig war, das es nur ein DWORD ist und bei bei GetExitCodeProcess die Referenz darauf mitgegeben wird!

Also nochmal vielen Dank deepthroat!

Gruß
Dorschty
 
Perfekt! Vielen Dank!

Hab nämlich in der msdn und überall geguckt! In der msdn ist dann anscheinend ein Fehler!
Bei der Funktion GetExitCodeProcess will er nach msdn ein HANDLE und LPDWORD als Parameter! Aber mit einem LPDWORD hat es nicht funktioniert! Da ist mir das ganze Programm absgestürzt! Wichtig war, das es nur ein DWORD ist und bei bei GetExitCodeProcess die Referenz darauf mitgegeben wird!
In der MSDN ist an der Stelle kein Fehler. Ein LPDWORD ist ein "Long Pointer to DWORD". Dieser Zeiger muss natürlich initialisiert sein, d.h. er muss auf eine Variable vom Typ DWORD zeigen.
C:
DWORD d;
LPDWORD dp = &d; // das hast du vergessen

GetExitCodeProcess(handle, dp);
Gruß
 
Zurück