Halten Sie cmd.exe offen auf Vista
Frage
Ich schreibe C ++ Konsolenprogramme. Nach dem Übersetzen, wenn ich das Programm von meinem Datei-Browser ausführen, cmd.exe schließt sich automatisch, so dass ich nicht meine Programme Ausgabe sehen können.
Der einzige Weg, dies zu umgehen, die ich gefunden habe ist das Programm von innen cmd.exe ausführen
Gibt es trotzdem cmd.exe offen zu halten, nachdem ein Programm ausgeführt wird beendet?
Gibt es eine Einstellung, die ich irgendwo ändern? Ich will nicht, ein Batch-Skript mit cmd.exe / K
laufenDanke!
[Bearbeiten] Sie wissen nicht, ob dies wichtig ist, aber ich bin auf Vista x64
Lösung
Haben Sie Ihre Anwendung auf einen Tastendruck fragt vor dem Beenden - das ist die einfachste Lösung
Andere Tipps
Sie können Setup eine Verknüpfung mit dem / K-Schalter, wenn cmd.exe starten, um es beenden nicht nach einem bestimmten Befehl ausführen:
cmd.exe /K YourProgram.exe
Ich war schon immer ein Fan von nur einer Batch-Datei zu erstellen, die Sie Programm ruft und ruft dann Pause
PROG.EXE Pause
Das wird eine schöne „Drücken Sie eine beliebige Taste, um fortzufahren ...“ geben prompt, es ist einfach und erfordert keine Änderung des Programms.
Als letzte Zeile Ihrer main()
Funktion, können Sie diese Zeile hinzu:
system("PAUSE");
Stellen Sie außerdem sicher #include <stdlib.h>
die system()
Funktion zu erklären. Dadurch wird die Konsole Pause machen. Allerdings, wenn Ihr Programm von innen cmd.exe
ausgeführt wird, wird dies noch anhalten, was unerwünscht sein kann.
Ich weiß, dass Sie gefragt, wie es über einen Dateibrowser zu tun, aber für den Fall, sind andere Menschen interessieren sich für das gleiche Problem, aber durch Visual Studio:
Es ist am besten, einen Haltepunkt in Ordnung zu bringen, bevor das Programm beendet ist.
Dann können Sie Ihre exe bereitstellen und Sie können sicher sein, dass Sie nicht vergessen, die Bitte um Eingabe zu entfernen. Es ist auch besser als für die Eingabe zu fragen, weil es viel Zeit in Anspruch nimmt Stellung und zurück in die für die Eingabe zu fragen.
Ich denke, es ist am besten nicht für die Eingabe zu stellen und stattdessen das Programm von einer Eingabeaufforderung gestartet zu starten.