Window-Ausgaben 'umleiten'

04/11/2010 - 13:26 von Andrea Hartmann | Report spam
Hallo,

ich weiss nicht, ob ich es klar ausdrücken kann, was ich meine:
ist es mit 'einfachen' Mitteln -falls überhaupt- möglich,
Zeichenausgaben eines Fensters 'abzufangen' und auf ein anderes Fenster
umzuleiten?

Folgender Hintergrund:

Wir haben mit einem Tool (Firedaemon) eine Windows-App als Service
laufen. Unter XP war es noch möglich, der App den interaktiven
Winsta0\Desktop zu geben. Ab Vista geht das ja nicht mehr.
Um das Programm zu bedienen bzw. die Ausgaben zu sehen, muss
normalerweise ein eigenes Programm gemacht werden, welches mit der App
im Hintergrund per IPC kommuniziert.

Da die Ausgaben recht komplex sind, ebenso die möglichen Kommandos würde
sich das ziemlich aufwàndig gestalten.

Deshalb ganz einfach die Frage: kann man Zeichenausgaben
(Zeichenbefehle) des Hintergrundprozesses abfangen und an das
Vordergrundfenster senden?

Ich weiss, das ist nicht optimal, aber zur Ausgabe erstmal ausreichend.

Ich hioffe, ich habe mich einigermassen klar ausgedrückt!


Vile Grüße!
 

Lesen sie die antworten

#1 Martin Richter [MVP]
04/11/2010 - 14:00 | Warnen spam
Hallo Andrea!

Deshalb ganz einfach die Frage: kann man Zeichenausgaben
(Zeichenbefehle) des Hintergrundprozesses abfangen und an das
Vordergrundfenster senden?



Sofern es sich um ein Consolen Programm handelt gibt es ja entsprechende
Möglichkeiten diese Ausgaben umzulenken. Ich frage mich nur ob es sich
hier wirklich um ein Consolen Programm handelt.
http://support.microsoft.com/kb/190351

Du könntest also (wenn es ein Consolen-Programm ist), dieses in einem
eigenen Prozess starten und die Ausgabe aufnehmen (siehe KB-Artikel).
Dieses Programm stellt nun die Daten selbst über eine named Pipe zur
Verfügung. Jetzt baust Du ein Frontend, dass die named Pipe öffnet und
die Daten visualisiert.

Martin Richter [MVP] WWJD http://blog.m-ri.de
"A well-written program is its own heaven; a poorly written
program is its own hell!" The Tao of Programming
FAQ: http://www.mpdvc.de Samples: http://www.codeproject.com

Ähnliche fragen