Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Prog auch bei mehreren angemeldeten Benutzern nur 1x starten (https://www.delphipraxis.net/17651-prog-auch-bei-mehreren-angemeldeten-benutzern-nur-1x-starten.html)

xineohp 8. Mär 2004 17:36

Re: Prog auch bei mehreren angemeldeten Benutzern nur 1x sta
 
Zitat:

Zitat von xineohp
bin nach wie vor skeptisch, ob das so funktionieren kann ... siehe letzten post von mir


Chewie 8. Mär 2004 17:39

Re: Prog auch bei mehreren angemeldeten Benutzern nur 1x sta
 
Wenn das Trayicon unbedingt angezeigt werden muss, würde ich das ganze Programm vielleicht in zwei Programme aufsplitten: Einen Service, der automatisch gestartet wird (und nur einmal läuft) und ein Administrationsprogramm, das für jeden benutzer einzeln ausgeführt wird. Dieses stellt dann das TrayIcon zur Verfügung.
Kommunizieren kannst du mit dem prozess dann via Mailslots, Pipes, MMFs oder TCP/IP.

xineohp 8. Mär 2004 18:35

Re: Prog auch bei mehreren angemeldeten Benutzern nur 1x sta
 
hm, das macht die Sache immer komplizierter... das Programm komuniziert nämlich schon mit anderen PCs. Mich würde interessieren wie z.B. Firewalls das Problem lösen z.B. Norton oder so, da gibts ja auch immer ein Trayicon.

Aber könntest du mir mal sagen wie ich überhupt einen Service hinkriege? Mit dem Skelett der "Service-Anwendung" von Delphi komm ioch irgendwie nicht zurecht. Ich seh den prozess nie im Taskmanager (müsste doch eigentlich drin sein oder?).

Chewie 8. Mär 2004 19:07

Re: Prog auch bei mehreren angemeldeten Benutzern nur 1x sta
 
Wie startest du den Service? Du musst ihn nämlich zunächst installieren (<Name des Services> /install) und dann am besten über die Dienstverwaltung starten (Systemsteuerung -> Verwaltung -> Dienste).

xineohp 8. Mär 2004 19:13

Re: Prog auch bei mehreren angemeldeten Benutzern nur 1x sta
 
hm, ich hab in Delphi einfach /INSTALL als Parameter eingetragen, geht das nicht auch?

EDIT:
Perfekt, das mit dem Starten war das Entscheidende. Jetzt muss ich nur noch das mit dem tray hinkriegen, aber für Anfang bin ich auch schn mit nem eifachen Form zufrieden. ma schaun...

xineohp 8. Mär 2004 21:06

Re: Prog auch bei mehreren angemeldeten Benutzern nur 1x sta
 
Kann ich den Service eigentlich auch über Shellexecute oder so starten?

xineohp 9. Mär 2004 20:40

Re: Prog auch bei mehreren angemeldeten Benutzern nur 1x sta
 
keiner eine Idee?

Naja, dann erstmal eine geänderte Fragestellung: Wie erstelle ich einen Service mit "Formular", also mit Benutzeroberfläche?

PlanetofBlade 2. Apr 2004 08:30

Re: Prog auch bei mehreren angemeldeten Benutzern nur 1x sta
 
Geht das überhaupt? Dienste sin Hintergrundprogramme, da gibt's keine Fenster! Aber alles imho :P

xineohp 3. Apr 2004 17:04

Re: Prog auch bei mehreren angemeldeten Benutzern nur 1x sta
 
und wie macht norton etc. das dann?

NicoDE 3. Apr 2004 17:58

Re: Prog auch bei mehreren angemeldeten Benutzern nur 1x sta
 
Zitat:

Zitat von xineohp
und wie macht norton etc. das dann?

Da interaktive Dienste (Services) ein nicht zu unterschätzendes Sicherheitsrisiko darstellen, gehe ich davon aus, dass sie einen nicht-interaktiven Service und eine normale GUI-Anwedung schreiben, die mit dem Service kommuniziert (die Wahl (der Qual) der Art und Weise der Interprozeßkommunikation bleibt Dir überlassen).

Per ShellExecute kannst Du den Dienst zwar nicht starten (da Dienste vom Service Control Manager (SCM) verwaltet werden) - aber auf der Konsole kannst Du einen Dienst mit 'net start foo' starten, bzw. mit 'net stop foo' beenden.

Um einen Start bei mehreren angemeldeten Benutzern zu verhindern (was ja nur auf einem System mit Terminal Server -Funktionalität vorkommen kann), kannst Du ein Mutex-Objekt im globalen Namensraum erzeugen (der Name beim Aufruf von CreateMutex muss dazu mit 'Global\' beginnen).


Gruss Nico


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:59 Uhr.
Seite 2 von 3     12 3      

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