Autor Beitrag
molotov
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24



BeitragVerfasst: Di 04.05.10 09:53 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10181
Erhaltene Danke: 1254

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: 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

_________________
There are 10 types of people - those who understand binary and those who don´t.
molotov Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24



BeitragVerfasst: 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 user profile iconNarses: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10181
Erhaltene Danke: 1254

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 04.05.10 11:49 
Moin!

user profile iconmolotov hat folgendes geschrieben Zum zitierten Posting springen:
Was ist IPC genau?
Suche in: Delphi-Forum, Delphi-Library IPC :les: :think: ;)

user profile iconmolotov hat folgendes geschrieben Zum zitierten Posting springen:
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 gerade erst.

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.