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
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
948 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

AW: Benutzerinteraktion mit Windowsdienst

  Alt 6. Feb 2021, 13:57
Hi,

früher nutzte man dazu die Control Panels. Gibt es auch unter Windows 10 (siehe SysWOW64/*.cpl).
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.948 Beiträge
 
Delphi 12 Athens
 
#2

AW: Benutzerinteraktion mit Windowsdienst

  Alt 6. Feb 2021, 14:33
früher nutzte man dazu die Control Panels. Gibt es auch unter Windows 10 (siehe SysWOW64/*.cpl).
Für ein oder zwei Jahre gibt es die vielleicht noch, ja.
Die sind aber eher zum Setzen von Einstellungen gedacht und weniger zur Steuerung eines Dienstes, auch wenn einige davon auch etwas zu Diensten schicken mögen.

Dafür wäre eher ein *.msc Snap-In für die MMC sinnvoll wie z.B. die Datenträgerverwaltung. Aber auch die soll ja (leider abgespeckt) in den neuen Einstellungen landen...
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Benutzerinteraktion mit Windowsdienst

  Alt 6. Feb 2021, 17:02
Werden wirklich Formulare bzw. echte Anwendungen benötigt? Würden nicht Webseiten reichen? Das ist heute der übliche Weg zur Interaktion mit Diensten.
Naja wenn ich aber im Hintergrund im Info Center oder auch per Messagebox oder einem sich öffnenden Fenster informiert werden will, dann ist das nicht ganz so cool. Um Einstellungen vorzunehmen oder Logging Daten anzuschauen mögen Websites ja gut sein, aber nicht für die zuvor genannten Möglichkeiten. Auch wenn Browser mittlerweile auch gut benachrichtigen können. Ich persönlich würde wahrscheinlich aber nicht immer daran denken, beim Start meines PCs die Website zu öffnen. Und im Autostart würde ich das auch nicht drin haben wollen.

früher nutzte man dazu die Control Panels. Gibt es auch unter Windows 10 (siehe SysWOW64/*.cpl).
Für ein oder zwei Jahre gibt es die vielleicht noch, ja.
Die sind aber eher zum Setzen von Einstellungen gedacht und weniger zur Steuerung eines Dienstes, auch wenn einige davon auch etwas zu Diensten schicken mögen.

Dafür wäre eher ein *.msc Snap-In für die MMC sinnvoll wie z.B. die Datenträgerverwaltung. Aber auch die soll ja (leider abgespeckt) in den neuen Einstellungen landen...
[OT]
Back to console würde ich mal sagen. Die neuen Einstellungen sind sowas von nervig. Warum zur Hölle muss alles auf Touch ausgelegt werden? Ich verstehe ja, warum man nur eine GUI pflegen will. Aber das auf Kosten der Bedienbarkeit bei normalen Desktop PCs und der Möglichkeiten die man damit hat machen?
Ein anderes Beispiel sind die Remote Optionen. Wenn man nicht als Administrator angemeldet ist, kommt man an die Einstellungen gar nicht erst ran um Remotedesktop zu aktivieren. Bei den "alten Einstellungen" über die Systemsteuerung wurde man dann eben nach Benutzername und Passwort gefragt. Und? War das so schlimm?

Manchmal denke ich echt, Microsoft will die Nutzer zu Linux jagen ...
[/OT]
  Mit Zitat antworten Zitat
Benutzerbild von Tim-94
Tim-94

Registriert seit: 3. Jul 2008
Ort: Hamburg
132 Beiträge
 
Delphi 12 Athens
 
#4

AW: Benutzerinteraktion mit Windowsdienst

  Alt 8. Feb 2021, 07: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.997 Beiträge
 
Delphi 12 Athens
 
#5

AW: Benutzerinteraktion mit Windowsdienst

  Alt 9. Feb 2021, 12: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.353 Beiträge
 
Delphi 12 Athens
 
#6

AW: Benutzerinteraktion mit Windowsdienst

  Alt 9. Feb 2021, 12: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)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

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

AW: Benutzerinteraktion mit Windowsdienst

  Alt 9. Feb 2021, 14: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
Antwort Antwort

 

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 10:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz