Einzelnen Beitrag anzeigen

RonnyBausA

Registriert seit: 29. Nov 2011
10 Beiträge
 
Delphi XE2 Professional
 
#1

Einzelne Funktionen als Admin ausführen

  Alt 27. Mär 2012, 10:25
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
  Mit Zitat antworten Zitat