Frage

Ich habe immer neugierig zu sehen, ob ich zeigen kann, verstecken oder eine NotifyIcon von einer anderen Anwendung über eine C # .NET-Anwendung erstellt ändern.

Könnte jemand bitte ein Beispiel auf veröffentlichen, wie dies zu tun? :)

War es hilfreich?

Lösung

Um Icons im Systray zu ändern, können Sie Shell_NotifyIcon Win32 API ( P / Invoke Erklärung ). Die Symbole sind mit einem Fenstergriff und einer ID zugeordnet ist. Das bedeutet, dass ein anderes Programm das Symbol zu ändern oder zu verbergen, müssen Sie das Fenster und die ID von dieser Anwendung verwendet wissen es zu registrieren. Sie könnten in der Lage sein, es Brute-Force durch alle Fenster für diesen Prozess Aufzählen und Tätigen von Anrufen mit jedem Griff und jede Zahl zwischen 0 und 5000 Tausenden zum Beispiel, aber Ihre Chancen auf Erfolg sind sehr schlank.

Andere Tipps

Sie können das SystemTray Fenster Haken sich alle Shell_NotifyIcon () -Anforderungen abzufangen. Dann kennen Sie die genaue HWNDs und IDs, die für jedes Symbol registriert sind. Details können über eine Suchmaschine gefunden werden.

Ich bin mir nicht bewusst nichts, es sei denn, dass andere Anwendung eine öffentliche Methode aussetzt, oder Sie versuchen, Reflexion zu verwenden, aber ich bin nicht einmal sicher, dass Sie das auf einem laufenden Prozess tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top