Entwickler-Ecke

WinForms - Fenstertitel auslesen von einem Programm mit tray icon, wie?


hiwa - Mi 01.04.09 16:11
Titel: Fenstertitel auslesen von einem Programm mit tray icon, wie?
Ich habe folgendes Problem:
Es gibt ein Programm (von ich leider nicht den Quellcode besitze), was sich nicht in Taskbar minimieren lässt sondern als Tray Icon.
Dummerweise kann man von laufenden Programme (Processes), die nur ein Symbol in Tray Icon haben, nicht den Inhalt der Titelfenster auslesen - das geht
nämlich so viel ich nun weiß, nur bei Programmen machen die einen geöffneten oder in Taskbar minimierten Fenster haben.
Interessant ist, dass im Taskmanager von Windows solche Programme nicht in Anwendungen-Registerkarte zu sehen sind, man kann aber die laufenden Prozesse
im Prozesse-Registerkarte sehen.

Meine Frage also: Kann man von einem Programm, was nur als Tray-Icon zu sehen ist, der Inhalt von seinem Fenstertitel auslesen?

zweite Frage: Kann man ein Programm als Tray Icon maximieren, so dass man es als einen Fenster sehen kann (natürlich wenn es eine Fensterform) hat?


Ich bedanke mich voraus für eure Tipps und Hilfe...


thanks and greets


JüTho - Mi 01.04.09 16:20

Hallo,

versuche es doch einmal mit der Process-Klasse: GetProcesses, GetProcessesById, GetProcessesByName. Vielleicht kannst du mit den Informationen im ProcessInfo-Array etwas anfangen.

Um selbst in den TrayIcon-Bereich zu kommen, ist die NotifyIcon-Komponente zu verwenden.

Jürgen


hiwa - Mi 01.04.09 17:20

-Mit GetProcesses, GetProcessesById, GetProcessesByName komme ich nicht weiter, weil wenn das Programm nur als Tray Icon zu sehen ist (und nicht als Fenster, minimiert oder maximiert), kann man das Fenstertitel nicht auslesen, anderes ausgedrückt ist die Eigenschaft "MainWondowTitel" des Prozesses leer.

-Mit ProcessInfo-Array habe ich noch keine vernünftigen Anwendungen gefunden.

-Und soweit ich es beurteilen kann, ist die Eigenschaft "NotifyIcon" nur für Instanzen der Klasse Form (vielleicht aus der Klasse Windows.Window) zu finden aber nicht
bei Instanzen der Klasse Process.

Danke für deine Tipps