Hallo zusammen, ich bräuchte mal wieder einen Ratschlag.
Ich habe hier eine kleine Anwendung, welche im Systray läuft. Diese wird unter einem normalen Benutzeraccount ausgeführt. In den Programmeinstellungen zu meinem Programm kann der Benutzer wahlweise auch eine Autostart funktion aktivieren, damit das Programm beim Windows Start auch gleich mit gestartet wird. Der dafür notwendige Registry-Eintrag (Run) kann natürlich nur mit Administratorrechten geändert werden. Ich möchte das Ändern dieses Registry-Eintrages also auslagern in eine Funktion, die nach der
UAC-Abfrage mit Adminrechten dann dazu in der Lage ist. Bisher muss der Nutzer dazu das Programm einmal als Administrator ausführen, was natürlich irgendwie etwas unglücklich ist.
Welches wäre dazu der einfachste Weg? Kann das eine
DLL machen, der ich den Programmnamen mit Pfad als ShortString übergebe oder ein
COM Server. Und wenn
COM-Server diesen dann in der
DLL oder in meiner Anwendung selbst? So wie ich das nach langem googlen verstanden habe, muss ich wohl eine
ActiveX DLL machen mit einem
COM-Server drin. Ein anderer Weg wäre meine Anwendung neu zu starten und dabei Adminrechte anfordern. Dies möchte ich aber nicht machen, da meine Anwendung sich mit einer anderen Anwendung per Windows Messages unterhällt. Dies würde nicht mehr funktionieren, wenn die eine Anwendung im normalen Benutzeraccount läuft und die andere im Admin-Account.
Kann mir jemand vielleicht mal das Vorgehen ein wenig Schritt für Schritt erläutern, da ich bisher noch nie etwas mit den
COM Interfaces gemacht habe. Das wäre echt nett.
Vielen Dank schon mal.
Ronny