Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Dienst erkennen? (https://www.delphipraxis.net/174081-dienst-erkennen.html)

Gruber_Hans_12345 2. Apr 2013 15:31

Dienst erkennen?
 
Hallo

Wie erkenne ich eigentlich ob meine Anwendung als Dienst gestartet wurde oder ob jemand einfach per Doppelklick auf die EXE geklickt hat?

(wenn die Parameter in beiden Fällen gleich sind?)

CCRDude 2. Apr 2013 15:51

AW: Dienst erkennen?
 
An sich denke ich, dass Du das Problem vermutlich anders angehen solltest, aber um die konkrete Frage zu beantworten:
  1. Username (SYSTEM vs. irgendwas anderes)
  2. Privilien (diverse)
  3. Parent Process (per PPID) prüfen
  4. Service Manager fragen evtl.? Da bin ich mir gerade unsicher.

Dalai 2. Apr 2013 16:01

AW: Dienst erkennen?
 
Zitat:

Zitat von CCRDude (Beitrag 1209721)
  1. Username (SYSTEM vs. irgendwas anderes)

Vorsicht, bei Diensten sind auch andere Nutzer möglich: NetworkService (Netzwerkdienst) und LocalService (Lokaler Dienst).

MfG Dalai

Klaus01 2. Apr 2013 16:04

AW: Dienst erkennen?
 
.. abfragen mit: sc query Dienstname

Grüße
Klaus

Sir Rufo 2. Apr 2013 16:07

AW: Dienst erkennen?
 
Was möchtest du denn eigentlich erreichen?

Das bestimmte Dinge initialisiert werden, nur wenn der Service gestartet wurde (also als Service)?
Dazu benutzt man eigentlich die Events z.B. Delphi-Referenz durchsuchenVcl.SvcMgr.TService.OnStart

CCRDude 4. Apr 2013 07:24

AW: Dienst erkennen?
 
Zitat:

Zitat von Dalai (Beitrag 1209723)
Vorsicht, bei Diensten sind auch andere Nutzer möglich: NetworkService (Netzwerkdienst) und LocalService (Lokaler Dienst).

MfG Dalai

Natürlich, aber da er von seiner eigenen Anwendung sprach, dachte ich, dass er evtl. auch selbst für die Installation dieser als Dienst und somit auch für den User verantwortlich sein könnte; so oder so könnte er per Service Manager oder Registry prüfen, ob der Username der für den Service eingerichtete ist... oder die Sessions iterieren und prüfen, ob er mit einem angemeldeten User einer Fenstersitzuncg übereinstimmt oder nicht... es handelte sich ja nur um einen Ansatzpunkt, nicht um die komplette Anleitug :)

Bummi 4. Apr 2013 07:37

AW: Dienst erkennen?
 
Ich bin über dieses http://www.rsdn.ru/forum/delphi/2054698.1 gestolpert, vielleicht hilft es.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:35 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