Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Text in cmd-Fenster abfangen (https://www.delphipraxis.net/52589-text-cmd-fenster-abfangen.html)

Airblader 31. Aug 2005 00:46


Text in cmd-Fenster abfangen
 
Hi,

der Titel sagts eig. schon ;)
Gibt es eine (vielleicht nicht ganz so komplizierte Hackerartige) Methode, um den Text,
der in einer cmd-Box erscheint auszulesen?

Infos:

1) Nicht ich starte die cmd
2) Das Finden des Fensters ist mir bekannt ;)

Der Sinn des ganzen ist das Loggen der Daten

air

Dax 31. Aug 2005 01:23

Re: Text in cmd-Fenster abfangen
 
Kann man überhaupt an einen nichtselbstgestarteten Prozess Pipes ansetzen? :gruebel: Wenn ja: so gehts ;)

Airblader 31. Aug 2005 01:35

Re: Text in cmd-Fenster abfangen
 
Gäbe es irgendeine andere Möglichkeit?

Es geht um folgendes:

Bei einem Spiel kann ich einen dedizierten Server starten, innerhalb eines cmd-Fensters sehe ich auch alle Aktivitäten (connecten, fraggen etc.).
Das würde ich ganz gerne irgendwie mitloggen.

Das Start eines eigenen cmd-Prozesses und des rein"zwingen" der Datei in meinen Prozess stelle ich mir hart/unmöglich vor ;)

Gäbe es nicht irgendeine Möglichkeit den Log mitzulesen und in einer Text-Datei abzulegn?

air

Dax 31. Aug 2005 01:59

Re: Text in cmd-Fenster abfangen
 
Wenn du nichts gegen MSDN-Library durchsuchenCreateProcess hast, brauchst du kein eigenes CMD-Fenster und kannst direkt eine Out-Pipe angeben, die dann alle Daten erhält. Alternativ (fällt mir grade ein) cmd.exe -> programm.exe -parameter > out.log (glaub ich wars ;))

Olli 31. Aug 2005 08:36

Re: Text in cmd-Fenster abfangen
 
Zitat:

Zitat von Dax
Wenn du nichts gegen MSDN-Library durchsuchenCreateProcess hast, brauchst du kein eigenes CMD-Fenster und kannst direkt eine Out-Pipe angeben, die dann alle Daten erhält.

... was aber nur funktioniert, wenn die Datei mit dem "Subsystemtyp" Konsole kompiliert wurde. Ansonsten kann die Anwendung auch gut AllocConsole() benutzen und du kommst über diese Methode nie ran.

Man müßte an die Ausgaben über viele Schweinereien rankommen - insbesondere auf NT/2K/XP... schwebt mir da was vor - aber ob das der Stabilität deines Spiels dienlich ist, wage ich zu bezweifeln.

Bist du sicher, daß dein Spiel nicht bereits die Möglichkeit mitbringt die Konsolenausgaben mitzuloggen?

Airblader 31. Aug 2005 09:01

Re: Text in cmd-Fenster abfangen
 
Nein, es bietet das imo noch nicht.
Ist ein OpenSource-Spiel das gestern bei GIGA kam (und inzwischen entsprechenden Andrang hat).

air

Olli 31. Aug 2005 09:03

Re: Text in cmd-Fenster abfangen
 
Zitat:

Zitat von Airblader
Ist ein OpenSource-Spiel das gestern bei GIGA kam (und inzwischen entsprechenden Andrang hat).

Wenn es OpenSource ist, warum baust du dann nicht die entsprechende Funktionalität einfach ein und schickst dem Team deinen Patch?!? Welches Spiel denn?

Airblader 31. Aug 2005 10:05

Re: Text in cmd-Fenster abfangen
 
Zitat:

Zitat von Olli
Zitat:

Zitat von Airblader
Ist ein OpenSource-Spiel das gestern bei GIGA kam (und inzwischen entsprechenden Andrang hat).

Wenn es OpenSource ist, warum baust du dann nicht die entsprechende Funktionalität einfach ein und schickst dem Team deinen Patch?!? Welches Spiel denn?

Ich hab den Quelltext bereits angefragt (man bekommt den Link auf Anfrage)..mal schauen.
Das Spiel heißt Warsow

air


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz