| Autor |
Beitrag |
blaskito
      
Beiträge: 63
Win2003, 2008, 2012, WinXP, Win7
Delphi 6 Pers.
|
Verfasst: So 02.05.10 19:47
Hallo,
ich bastel gerade an einer Anwendung, die eine Nachricht zuverlässig an den jeweiligen User per Popup übermitteln muss. Nun stehe ich vor der Entscheidung, ob ich daraus einen Dienst baue. Interaktive Dienste haben ja nicht den besten Ruf - wobei die Frage bleibt, ob ein Popup wirklich "interaktiv" ist - aber Windows überwacht ja die Dienste und startet sie zur Not auch neu. Eine Anwendung verursacht keine Probleme in Sachen Sicherheit, aber ich brauche eine zweite, um zu überwachen, dass sie auch tatsächlich läuft. Ein Dienst als Listener und eine Anwendung für das interaktive umgeht das letztgenannte Problem ja auch nicht.
"Was tun?" sprach Zeus. Alle drei Varianten haben Nachteile, also welche sollte/kann man akzeptieren?
Vielen Dank für jede Meinung
und Gruß aus dem Norden
blaskito
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 02.05.10 20:00
blaskito hat folgendes geschrieben : | | Interaktive Dienste haben ja nicht den besten Ruf |
Zurecht. Und außerdem gibt es sie ab Windows Vista gar nicht mehr, womit sich wohl deine Frage erübrigt hat.
|
|
blaskito 
      
Beiträge: 63
Win2003, 2008, 2012, WinXP, Win7
Delphi 6 Pers.
|
Verfasst: So 02.05.10 21:36
Ist so nicht ganz korrekt. Die Interaktion wird nur unterbunden, kann aber auch wieder explizit zugelassen werden. Ist mir im Moment nicht wichtig, weil ich ein XP/2000 Netzwerk habe. Letzendlich blieben aber immer noch 2 Varianten übrig, nämlich nur Anwendung und Service-Anwendung Kombi. Da habe ich aber immer das flaue Gefühl, die Anwendung bricht weg und dann?
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: So 02.05.10 21:39
Wofür dann überhaupt nen Dienst, und nicht einfach ein Programm im Hintergrund?
Ein Dienst ist doch genau dafür gedacht, dass kein Benutzer eingeloggt sein muss.
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
blaskito 
      
Beiträge: 63
Win2003, 2008, 2012, WinXP, Win7
Delphi 6 Pers.
|
Verfasst: So 02.05.10 21:47
Vorteil des Dienstes: Windows startet ihn selbständig nach, falls er abstürzt. Er kann u.U. auch dann aktiv werden, wenn kein User eingeloggt ist.
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: So 02.05.10 22:11
Dann sorg doch einfach dafür, dass er gar nicht erst abstürzt?
Wenn du unbedingt willst, neuer Vorschlag: Du schreibst nen Dienst, der die Daten entgegen nimmt (wie auch immer), wenn sich ein Benutzer anmeldet, wird eine zusätzliche Oberfläche (im Hintergrund) gestartet, die Daten mit dem Dienst austauscht?
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
blaskito 
      
Beiträge: 63
Win2003, 2008, 2012, WinXP, Win7
Delphi 6 Pers.
|
Verfasst: So 02.05.10 22:24
Wie war das noch mit dem kürzesten Programmiererwitz: Die Anwendung ist stabil!
Ich will ja nicht unbedingt einen Dienst, sondern bin bei der Meinungsbildung. Dein Vorschlag wäre ja mein Plan C. Habe ich auch schon durchgespielt. Dienst meldet Anwendung und überprüft, ob Anwendung noch da ist. Aaaaber: Was ist, wenn kein User angemeldet ist?
Die Anforderung besteht darin, dass ein Popup kommt und zwar zuverlässig. Deswegen habe ich mir die letzten Tage schon einige graue Haare gemacht ...
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: So 02.05.10 22:48
Wenn kein User angemeldet ist, kann soweit ich weiß auch kein Popup angezeigt werden.
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
blaskito 
      
Beiträge: 63
Win2003, 2008, 2012, WinXP, Win7
Delphi 6 Pers.
|
Verfasst: So 02.05.10 22:59
Ich weiß zwar nicht wie es geht, aber z.B. Symantec Ghost teilt sich mit, wenn es etwas tut. Auch wenn niemand angemeldet ist.
|
|
Martok
      
Beiträge: 3661
Erhaltene Danke: 604
Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
|
Verfasst: So 02.05.10 23:12
Stimmt, Fenster werden standardmäßig in der aktiven WindowStation erzeugt. Wenn das die vom Logon-Screen ist, dann erscheint das Fenster halt da.
blaskito hat folgendes geschrieben : | | Ich weiß zwar nicht wie es geht, aber z.B. Symantec Ghost teilt sich mit, wenn es etwas tut. Auch wenn niemand angemeldet ist. |
Geht das in Vista auch noch so? Firewalls haben ja üblicherweise einen interaktiven Dienst, der sowas macht. Aber wenns die nicht mehr gibt...
Die Idee, Dienst und Anwendung zu haben, die sich per IPC unterhalten, gefällt mir immer mehr. Auch wenn die Frage ist, wie man dann den Dienst dazu kriegt, eine Interaktive Anwendung starten zu dürfen. Wär ja sonst sinnlos, der Schutz. Das wissen hier aber bestimmt ein paar Leute 
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
|
|
blaskito 
      
Beiträge: 63
Win2003, 2008, 2012, WinXP, Win7
Delphi 6 Pers.
|
Verfasst: So 02.05.10 23:25
Ich hab's unter 7 noch nicht getestet (Vista mag ich nicht), werd's aber mal tun. Ich glaub aber langsam auch, dass der Ansatz vielleicht nicht der schlechteste ist.
|
|
Narses
      

Beiträge: 10184
Erhaltene Danke: 1258
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: So 02.05.10 23:35
Moin!
Martok hat folgendes geschrieben : | | Die Idee, Dienst und Anwendung zu haben, die sich per IPC unterhalten, gefällt mir immer mehr. Auch wenn die Frage ist, wie man dann den Dienst dazu kriegt, eine Interaktive Anwendung starten zu dürfen. Wär ja sonst sinnlos, der Schutz. |
AFAIK soll die interaktive Anwendung aus dem Userkontext heraus gestartet werden (z.B. vom Installer im Autostart/Reg/etc. angelegt), nicht aus dem Dienstekontext. Der Dienst tut, die Anwendung zeigt an, so sollte das sein.
Wenn es ein Problem darstellt, dass die interaktive Anwendung nicht gestartet ist, dann hilft auch kein überwachender Dienst. Das ist ein grundsätzlich letztlich nicht lösbares Problem, sicherzustellen, dass eine Anwendung läuft, jedenfalls nicht auf der selben Maschine/Kontext. Unschön, aber praktikabel: Taskplaner-Job, der alle x Minuten die Anwendung startet, die neue Instanz fragt per IPC nach dem Befinden der ersten, schließt diese ggfs. und übernimmt die Funktion, sonst beendet sich die nachgestartete Instanz wieder.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
blaskito 
      
Beiträge: 63
Win2003, 2008, 2012, WinXP, Win7
Delphi 6 Pers.
|
Verfasst: Mo 03.05.10 22:11
Das klingt schlüssig,
vielen Dank!
|
|
|