Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - TCoolTrayIcon unter Windows 7
molotov - Di 04.05.10 09:53
Titel: TCoolTrayIcon unter Windows 7
Ich habe folgendes Problem:
Meine Applikation wird als Service gestartet und setzt ein TrayIcon in die Taskleiste. Unter Windows XP funktioniert dies einwandfrei.
Unter Windows 7 habe ich jedoch folgendes Problem: Das Icon wird nicht angezeigt, obwohl der Dienst ordnungsgemäß läuft. Ich habe dann herausgefunden, dass Icons standardmäßig versteckt werden und dieses in den Eigenschaften mittels "Show icon and notification" versucht zu aktivieren. Danach erhalte ich jedoch die Meldung
"Das Benachrichtigungssymbol ist derzeit nicht aktiv" und das Icon wird weiterhin nicht angezeigt. Kann mir jemand weiterhelfen. Wenn man googelt findet man nicht wirklich Hinweise, was das Problem sein könnte.
Narses - Di 04.05.10 09:59
Moin!
Dienste sind seit Vista nicht mehr interaktiv - und das ist auch gut so. Fazit: Das soll so sein.
Lösung: Der Dienst erledigt die Aufgabe(n), um Userinteraktion zu haben, eine Anwendung im Userkontext starten, die per IPC mit dem Dienst spricht und ggfs. Ausgaben macht (z.B. praktisch jede Firewall macht das auch so).
cu
Narses
molotov - Di 04.05.10 10:03
Danke für die rasche Antwort!
Jedoch verstehe ich derzeit leider nur Bahnhof! Was ist IPC genau?
Meine Anwendung läuft dermaßen ab dass (jedenfalls unter XP) bei Klick auf das TrayIcon des Dienstes ein Popup-Menü erscheint in welchem in Abhängigkeit des selektierten Elements eine Bedienoberfläche gestartet wird.
---
Moderiert von
Narses: Beiträge zusammengefasst---
Gibt es keine Workaround, um diese Interaktion doch zuzulassen?
Das Starten des Dienstes UI0Detect (Erkennung interaktiver Dienste) hat leider auch nichts gebracht.
Edit: Gibt es die Möglichkeit meinen Dienst als interaktiv zu kennzeichnen?
Edit2: Auch das Aktivieren (was Standarmäßig sowieso der Fall ist) von "allow service to interact with desktop" im Service ändert nichts.
Narses - Di 04.05.10 11:49
Moin!
molotov hat folgendes geschrieben : |
Was ist IPC genau? |
IPC :les: :think: ;)
molotov hat folgendes geschrieben : |
Gibt es keine Workaround, um diese Interaktion doch zuzulassen?
[...]
Gibt es die Möglichkeit meinen Dienst als interaktiv zu kennzeichnen? |
Selbst wenn ich einen kenne, würde ich ihn nicht öffentlich empfehlen - das hat seinen Sinn, das es so ist, wie es ist. :nixweiss:
Sinnvoll ist das nur mit einem geteilten Ansatz zu bewältigen: der Dienst ist für die Aktivitäten zuständig, eine aus dem Userkontext gestartete Anwendung für die Kommunikation mit dem Dienst. :idea:
Das hatten wir aber hier auch [
http://www.delphi-forum.de/topic_WindowsDienst+oder+Anwendung_99277.html] gerade erst.
cu
Narses
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!