Konsole öffnen und ablaufen lassen, ohne daß ein fertiges Konsolenprogramm vorhanden ist
-
Wie kann man folgendes realisieren? Ich möchte aus einer MFC-Anwendung heraus eine Konsole öffnen, die dann Dinge macht, welche im Quellcode stehen. Es soll aber nicht einfach nur eine normale "Command.com"/"Cmd.exe"-Konsole sein, die dann irgendwelche Eingaben entgegennimmt ("C:\WINDOWS>"), und es soll auch keine bereits als Exe-Datei vorhandene Konsolenanwendung sein, die ich einfach extern (zum Beispiel mit WinExec) aufrufe. Ich hab mir eher sowas vorgestellt:
void CMeinDialog::OnButton () { OpenConsole (); //Wie auch immer der Befehl heißt. Ein leeres Konsolenfenster geht auf. cout<<"Hallo."; //Diesen Text soll er nun in der eben geöffneten Konsole ausgeben. cin.get (); //Warten auf Enter in der Konsole. CloseConsole (); }Ich hoffe, ich konnte deutlich machen, was ich meine: Ich möchte quasi eine Konsolenanwendung quellcodetechnisch in ein Windowsprogramm integrieren. Geht sowas? Wenn ja, wie?
-
Guckst Du hier:
http://de.blog.360.yahoo.com/blog-lpz8ry8wdq9.tWE_8IgP.NtXjk0-?cq=1&bid=15&yy=2006&mm=3Wenn du die Konsole auch im Release drin haben willst, kannste einfach den Code an deien Bedürfnisse anpassen.
-
Soweit ich das sehe, ist dieser Code nur für Textausgaben zuständig, wie man sie auch in Dateien umleiten kann. Mir geht es aber darum, die Konsole so programmieren zu können, als wäre es ein tatsächliches Konsolenprogramm (außer, daß sie eben fest in einer Windows-Anwendung verankert ist). Das heißt, die Konsole soll nicht nur Ausgaben darstellen können, sondern Befehle wie cin>>, Sleep, SetConsoleTextAttribute (textcolor) und eben alles, was man so in der Konsole machen kann, soll ebenfalls möglich sein.
-
hehe wunderbar ... Wieso hast du plötzlich auch diese Idee zur selben Zeit. Siehe einen Thread weiter unten:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-145542.htmlWenn du was findest, sagst du mir bitte bescheid? Ich machs auch umgekehrt ^^
Grüssli
-
Ja, klar, kann ich machen.
-
Habs gefunden. Such mal nach AllocConsole und FreeConsole, bzw. Console Functions in der MSDN. Findest eine Menge nützlicher Funktionen. Man kann einfach eine Konsole starten in sie hinein schreiben, Werte abfragen lassen usw. Hätte nicht gedacht, dass es so einfach gehen würde ^^
Grüssli
-
Danke. Muß ich mir mal ansehen.
-
Siehe: INFO: Calling CRT Output Routines from a GUI Application
http://support.microsoft.com/kb/105305/en-us