AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Benutzerinteraktion mit Windowsdienst

Ein Thema von Tim-94 · begonnen am 3. Feb 2021 · letzter Beitrag vom 10. Feb 2021
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Tim-94
Tim-94

Registriert seit: 3. Jul 2008
Ort: Hamburg
132 Beiträge
 
Delphi 10.3 Rio
 
#11

AW: Benutzerinteraktion mit Windowsdienst

  Alt 8. Feb 2021, 08:42
Hi Leute,

Freut mich, dass alle schon so fleißig geschrieben haben. Hier gibts eine kleine Sammelantwort:

Der Grund warum das so aufwändig ist, was du vorhast ist der, dass Dienste quasi einen eigenen Desktop haben alles was die starten oder Anzeigen popt dort auf.
Ich nehme an du willst nicht, dass eine Oberflächen-Anwendung im context des Users über Autostart gestartet wird die evtl. als Tray-Icon läuft?
Oder Benachrichtigungen in der Windows-Sidebar anzeigen?
Genau das wollte ich versuchen zu umgehen. Ich wollte eigentlich ausschließlich einen Dienst haben, welcher meine Aufgaben erfüllen kann. Von diesem Konzept musste ich allerdings Abstand nehmen (siehe unten).

Du brauchst keine Passwörter, es reicht wenn Du das Token der fraglichen Session dupliziert und für CreateProcessAsUser verwendest. So verwende ich das von einem Dienst aus problemlos, um Feedback anzuzeigen / abzufragen.

Stichworte: TcbPrivilege, DebugPrivilege, ImpersonatePrivilege, WTSGetActiveConsoleSessionId, WTSQueryUserToken (Stolperfalle: funktioniert nur von Systemdiensten aus), DuplicateTokenEx, CreateProcessAsUser. War meine ich hier schonmal Thema
Ich habe das halbe Wochenende dran gesessen und es ausprobiert, jedoch leider ohne Erfolg...vielleicht war ich einfach zu blöd


Jupp, im Prinzip hast ja nur ein paar Möglichkeiten.
  • ein TrayProgramm, was zusätzlich beim Einloggen im Benutzerkontext gestartet wird und die ganze Zeit mitläuft (AutoRun oder geplante Aufgabe beim Login und ohne Tray, siehe Dienst im Nutzerkontext)
Danke himitsu für deine ganzen Vorschläge. Da ich mich nach den ganzen Fehlversuchen am Wochenende so geärgert () habe, habe ich mich für diese Variante entschieden. Der Dienst kommuniziert nun über TCP/IP mit der Anwendung, welche bei jedem Login eines Benutzers ausgeführt wird (Autostart - HKEY_LOCAL_MACHINE - RUN). Die gesamte Kommunikation funktioniert auch ganz hervorragend.

Werden wirklich Formulare bzw. echte Anwendungen benötigt? Würden nicht Webseiten reichen? Das ist heute der übliche Weg zur Interaktion mit Diensten.

als Bugfix für "uralte" Software kann man einen Dienst zwar auch als "interaktiv" einrichten (Dienste > Eigenschaften > Anmeldung > Datenaustausch mit Desktop zulassen), aber sowas macht man nicht
Das funktioniert mittlerweile gar nicht mehr, auch nicht mit Tricks. Die Funktionalität wurde entfernt.
Der Weg mit den Webseiten wäre für mich nicht zielführend gewesen, da die Anforderung ein autonom agierendes System, welches ohne Zutun der Benutzer Hinweismeldungen etc. anzeigen kann, gefordert war. Trotzdem danke für deinen Vorschlag. PS: Das die CheckBox mit der Desktopinteraktion irgendwie keine Auswirkungen mehr hat, ist mir auch aufgefallen.


Vielen Dank nochmal für die ganzen Antworten. Ich habe die Markierung als offene Frage für den Beitrag nun zurückgenommen. Für mich wäre das Thema damit geklärt. Falls wieder mal jemand vor solch einer Problematik steht oder noch Fragen zur Umsetzung hat, darf er mich gerne anschreiben.

Alle schön gesund bleiben
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.925 Beiträge
 
Delphi 12 Athens
 
#12

AW: Benutzerinteraktion mit Windowsdienst

  Alt 9. Feb 2021, 13:28
HDanke himitsu für deine ganzen Vorschläge. Da ich mich nach den ganzen Fehlversuchen am Wochenende so geärgert () habe, habe ich mich für diese Variante entschieden. Der Dienst kommuniziert nun über TCP/IP mit der Anwendung, welche bei jedem Login eines Benutzers ausgeführt wird (Autostart - HKEY_LOCAL_MACHINE - RUN). Die gesamte Kommunikation funktioniert auch ganz hervorragend.
Ich kenne das auch nur so. Irgendwie machen das alle so!
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.004 Beiträge
 
Delphi 12 Athens
 
#13

AW: Benutzerinteraktion mit Windowsdienst

  Alt 9. Feb 2021, 13:58
Es ist halt "einfach",
auch wenn es jeden nervt, wenn andauernd Millionen Programme im Hintergrund laufen und den Tray vollmüllen.

(vorallem die tausenden Updater, welche eigentlich nie was tun und man sie hätte so schön zeitgesteuert in der Aufgabenplanung eintragen können)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#14

AW: Benutzerinteraktion mit Windowsdienst

  Alt 9. Feb 2021, 15:42
Naja, wenigstens kann man sie ja mittlerweile im Tray auch ausblenden.
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.573 Beiträge
 
Delphi 11 Alexandria
 
#15

AW: Benutzerinteraktion mit Windowsdienst

  Alt 10. Feb 2021, 05:33
Naja, wenigstens kann man sie ja mittlerweile im Tray auch ausblenden.
Das hört sich so an als ginge das erst seit kurzem, aber eingeführt wurde das ja mit XP vor knapp 20 Jahren.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#16

AW: Benutzerinteraktion mit Windowsdienst

  Alt 10. Feb 2021, 08:10
Ja, ok. Bin halt auch schon länger dabei
Aber viele vergessen das halt.

Im Tray laufen lassen, im Tray ausblenden und es ist für den Benutzer weder störend noch direkt sichtbar.
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz