Autor Beitrag
dirksen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23

Win 7, Win 8, Win 2012 Server R2
Delphi 7, Delphi XE2, VS 2008
BeitragVerfasst: Di 14.02.17 11:02 
Hallo zusammen,

ich hab hier meine Anwendung, die Messdaten aufzeichnet. Diese soll auf einem Server laufen und bei Systemstart automatisch, ohne Benutzeranmeldung starten. Also im Prinzip wie ein Dienst funktionieren. Leider ist es im Moment nicht möglich in kurzer Zeit die Anwendung auf einen Dienst umzuschreiben.
Den Start bei Systemstart bekomme ich über die Aufgabenplanung soweit hin, das Programm wird unter einem Benutzerkonto gestartet und läuft dann nach Systemstart als Hintergrundprozess und zeichnet ganz normal auf. Das Problem ist, wenn jetzt irgendwelche Einstellungen geändert werden sollen muss ich an die Dialoge des Programms ran, was nicht geht, da es als Hintergrundprozess läuft. Gibt es eine Möglichkeit das Programm sichtbar zu machen un in den Vordergrund zu bringen, ohne es zu beenden? Z.B. ich starte das Programm ganz normal per Doppelklick neu, erkenne, dass es schon läuft und sende dann eine Message an den Hintergrundprozess? Ich dachte da an SetThreadDesktop, hiermit dann der laufenden Application einen neuen Desktop zuweisen. In die Richtung versuche ich gerade erste Experimente. Oder kennt jemand da eine andere Lösung?

Bin gespannt auf Eure antworten....
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 14.02.17 12:51 
- Nachträglich durch die Entwickler-Ecke gelöscht -
dirksen Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23

Win 7, Win 8, Win 2012 Server R2
Delphi 7, Delphi XE2, VS 2008
BeitragVerfasst: Di 14.02.17 13:44 
Hallo Frühlingsrolle,

geht leider so nicht, das Fenster wird nicht gefunden.
Der Prozess wird zu einem Zeitpunkt gestartet, an dem kein Benutzer angemeldet ist und somit kein Desktop zur Verfügung steht.
Im MS Spy++ finde ich bestenfalls den Prozess, aber keine Fenster. Wenn ich mir das Programm im Taskmanager anschaue, existieren auch keine GDI-Handles.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 14.02.17 14:06 
Der normale Weg (auch für einen Dienst) wäre schlicht einen kleinen Webserver anzubieten, der dann auch eine Statusseite, Konfigurationsseite usw. anbietet.

Es gibt mit uniGUI auch eine Möglichkeit VCL Formulare relativ gut in Webseiten umzuwandeln. Nicht im Sinne von direkt konvertieren, aber mit deutlich weniger Aufwand als normalerweise nötig wäre:
www.unigui.com/
Vielleicht wäre das ja für die Umstellung auf einen Dienst hilfreich?