Forum: PC-Programmierung Errorlevel beim Beenden von Windows-Anwendung


von Norbert (Gast)


Lesenswert?

Hallo,

ich habe eine c++ Fenster-Anwendung, die per Batch mit Parametern 
aufgerufen wird und sich normalerweise selbst beendet. Der Anwender hat 
aber die Möglichkeit, das Programm im Notfall manuell zu beenden(über 
das Schließen-Kreuz oder Alt+F4). In diesem Fall sollte das Programm 
jedoch einen Errorlevel von 2 für ein Batch-Programm ausgeben.

Zur Zeit beende ich  mein Programm automatisch per...
1
PostQuitMessage(0);
2
return 0;
und manuell per...
1
PostQuitMessage(2);
2
return 2;

Wenn ich mein Programm in der Eingabeaufforderung aufrufe, erhalte ich 
nach dem manuellen Beenden und der anschließenden Eingabe von "ECHO 
%ERRORLEVEL%" stets den Wert 0.

Wie kann ich beim Beenden einer Windows-Anwendung einen Errorlevel 
setzen, der dann von einem Batch-Programm ausgewertet werden kann?

Herzlichen Dank,
Norbert

von Klaus W. (mfgkw)


Lesenswert?

Was passiert, wenn du einfach gnadenlos mit exit(2) abbrichst?

von Zwie B. (zwieblum)


Lesenswert?

Viel zu einfach!

von Peter (Gast)


Lesenswert?

Norbert schrieb:
> return 2;

die frage ist in welcher funktion du return 2 aufrufst (Main, WinMain 
usw?)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.