Hallo zusammen,
ich suche nach einer Möglichkeit ein Programm so in den Autostart einzutragen, dass es sich auch bei aktivierter
UAC mit elevated Rechten startet. Hierzu sind mir bisher zwei Wege bekannt:
- System Service, der bei Benutzeranmeldung den Prozess im jeweiligen Kontext startet
- Autostart über den Windows Task Scheduler
Ich denke mal beide Wege haben ihre Vor- und Nachteile, allerdings konnte ich mich noch nicht festlegen und hoffe deshalb von euch eine Entscheidungshilfe zu bekommen. Spontan stellen sich mir folgende Fragen:
- Service: Ist es möglich aus dem Service heraus festzustellen, wenn sich ein (neuer) Benutzer am Computer anmeldet? Optimalerweise über ein Event oder irgendwelche Messages, so dass ich nich pollen müsste. Periodisches Prüfen der active session id würde ich aus mehreren Gründen gerne vermeiden.
- Scheduler: Wenn ich "per Hand" über die Systemsteuerung ein Event im Scheduler eintrage, werde ich gefragt, welcher Benutzerkontext verwendet werden soll. Kann ich dies auch dynamisch einstellen, sodass immer der Kontext des aktuell angemeldeten Benutzers verwendet wird?
- Scheduler: Gibt es irgendwo eine gute Delphi Dokumentation oder ein Beispiel, was zeigt, wie ich per API einen neuen Task beim Scheduler eintragen kann? Im MSDN finde ich zwar eine ganze Menge, aber ich würde die zahlreichen Interfaces ungerne per Hand übersetzen.
Welchen Weg würdet ihr wählen?
Viele Grüße
Zacherl