Babybaer Geschrieben 1. Juli 2004 Geschrieben 1. Juli 2004 Hallo Leutz, mein Problem besteht darin etwas in die CMD-Console zu schreiben. Ich habe eine MFC-Anwendung mit Commandline. Da ich beide Optionen benötige (Dialog und CMD) muß ich Returnwerte an die Console schicken. Nur pop das Ding nur kurz auf. Das ist aber nicht das was ich will. Ich möchte das der Text in der Console sichtbar wird, in dem ich zuvor mein Programm gestartet habe. FILE *stream; stream = fopen( "fprintf.out", "w" ); fprintf(stdout,"hello-out"); fclose( stream ); system( "type fprintf.out" ); :confused: THX Zitieren
Guybrush Threepwood Geschrieben 1. Juli 2004 Geschrieben 1. Juli 2004 So gehts bei mir: #include <stdio.h> #include <stdlib.h> int main() { FILE *stream; stream = fopen( "fprintf.out", "w" ); fprintf(stdout,"hello-out\n"); fclose( stream ); system( "type fprintf.out" ); system ("pause"); return 0; } [/PHP] Zitieren
Babybaer Geschrieben 2. Juli 2004 Autor Geschrieben 2. Juli 2004 Nein das ist es nicht gewesen, leider. Der macht mir ein neues Fenster auf, das bleibt zwar stehen, ist so aber nicht gewünscht. Sollte man da nicht mit FindWindow ran gehen? Das ist ein Mist. Zitieren
Klotzkopp Geschrieben 2. Juli 2004 Geschrieben 2. Juli 2004 Wenn du den cmd-Prozess mit CreateProcess erstellst, hast du die Möglichkeit, dem Prozess neue Handles mitzugeben, die dieser für STDIN, STDOUT und STDERR benutzt. Wenn du dafür Pipe-Handles benutzt, kannst du die Konsole "fernsteuern" und die Ausgabe wie aus einer Datei lesen. Zitieren
Guybrush Threepwood Geschrieben 2. Juli 2004 Geschrieben 2. Juli 2004 Nein das ist es nicht gewesen, leider. Der macht mir ein neues Fenster auf, das bleibt zwar stehen, ist so aber nicht gewünscht. Sollte man da nicht mit FindWindow ran gehen? Das ist ein Mist. Also bei mir erscheint nur ein Konsolenfenster in dem der Text steht und auf die Taste gewartet wird. Was hast du den für ein BS? Zitieren
Babybaer Geschrieben 5. Juli 2004 Autor Geschrieben 5. Juli 2004 Also ich benutze das Windows XP, aber das sollte auch unter NT tun. Entwickelt in MS VS.net 7.1 mit MFC. Benutze noch ActiveX und Socket Komponenten. Vorgehen: 1. Ich mache eine DosBox auf. 2. xxxx.exe -Parameter + Argumente und dann Programm starten (DosBox bleibt bestehen) 3. Verarbeitung der CmdLine 4. Ausgabe an DosBox in der das Programm gestartet wurde. (TUT NICHT) Es ist bestimmt möglich mit FindWindow aber was mache ich wenn der User mehrere DosBoxen auf hat? Also etwas schlecht die Idee. Aber es muss doch möglich sein, heraus zubekommen wo das Programm gestartet wurde. Leider habe ich keinen Object auf das ich zugreifen kann. Schnief. Zitieren
BOOT Geschrieben 14. April 2006 Geschrieben 14. April 2006 Also ich benutze das Windows XP, aber das sollte auch unter NT tun. Entwickelt in MS VS.net 7.1 mit MFC. Benutze noch ActiveX und Socket Komponenten. Vorgehen: 1. Ich mache eine DosBox auf. 2. xxxx.exe -Parameter + Argumente und dann Programm starten (DosBox bleibt bestehen) 3. Verarbeitung der CmdLine 4. Ausgabe an DosBox in der das Programm gestartet wurde. (TUT NICHT) Es ist bestimmt möglich mit FindWindow aber was mache ich wenn der User mehrere DosBoxen auf hat? Also etwas schlecht die Idee. Aber es muss doch möglich sein, heraus zubekommen wo das Programm gestartet wurde. Leider habe ich keinen Object auf das ich zugreifen kann. Schnief. Hallo Ich habe das gleiche Problem! Hast vieleich ein Tip für mich, fals du es schon mal gelöst hast? lg. BOOT Zitieren
Babybaer Geschrieben 16. April 2006 Autor Geschrieben 16. April 2006 Nein leider nicht. Habe es in C# gemacht. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.