2010-12-13 10 views
1

Ich möchte ein Fenster erstellen, das den aktuellen Inhalt einer Anwendung anzeigen kann, z. B. Powerpoint oder Adobe Reader.Echtzeit-Monitorfenster einer Anwendung erstellen

Wenn ich meine Anwendung starte, wähle ich zuerst aus, welche der aktuell laufenden Anwendungen ich in Echtzeit überwachen muss. Danach muss ich den aktuellen Inhalt der ausgewählten Anwendung abrufen und anzeigen. Da meine Anwendung in Echtzeit sein wird, muss sie den Inhalt der ausgewählten Anwendung erfassen, sobald sie sich ändert (mit minimaler Verzögerung) und sie dann anzeigen.

Wie ich verstehe, diese umfassen im Großen und Ganzen aus folgenden Schritten: 1. eine Anwendung auswählen, die ich will 2. Get ‚Anmeldung‘ überwachen, wenn der Inhalt dieses applicaion (Client-Bereich) 3. Erfassung geändert hat der neue Inhalt und zeige es an

Die Schritte [1] und [3] sind ziemlich einfach und ich finde mehrere Methoden hier, um sie durchzuführen. Für die Bühne [2] bin ich jedoch immer noch ahnungslos. Kann jemand Licht darauf werfen, wie man das erreicht?

Prost.

+0

Sie würden denken, dass dies in Windows Vista/7 mit DWM und Aero Peek viel einfacher geworden ist, aber mir sind keine APIs bekannt, die den DWM-Render nutzen. –

+0

Ein flüchtiger Blick auf DWM zeigt, dass es mit Win7/Vista und auch mit WDDM-Version funktioniert. Ich werde diesen Ansatz wahrscheinlich nicht verwenden, da ich alle unterstützen möchte, die die gleiche Codebasis verwenden, wenn das machbar ist. Ich habe auch keine Erwähnung von XP in seiner Support-Liste gefunden. – Ethan

Antwort

1

Der eine offensichtliche Ansatz, den ich mir vorstellen kann, besteht darin, regelmäßig Snapshots des Fensters der App zu erstellen und es mit dem vorherigen für Änderungen zu vergleichen.

+0

Ja, ich hatte das schon mal probiert. Ich denke, es sollte bessere Wege geben, damit umzugehen, die Umfragen sind wirklich primitiv und fallen zurück, wenn nichts anderes existiert. – Ethan

2

Sie können einen Blick auf UltraVNC werfen, die genau das tut, was Sie versuchen zu tun (es hat einen einzigen Fenstermodus sowie Vollbild). Es hat nicht weniger als vier Möglichkeiten, um Ihren Schritt # 2 zu erreichen.

+0

Das ist ein guter Hinweis. Lass mich das untersuchen. – Ethan