Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Programm mit Adminrechten starten mal anders??? (https://www.delphipraxis.net/86758-programm-mit-adminrechten-starten-mal-anders.html)

Piro 19. Feb 2007 12:31


Programm mit Adminrechten starten mal anders???
 
Hi,

ist der unten beschriebene Code möglich. Besonders interessant, wäre zu wissen ob der ELSE Bereich möglich ist. Und besonders wie?

Delphi-Quellcode:
program Project1;

uses
  Windows,
  SysUtils,
  Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

var
  AdminToken : Cardinal;
  ComputerName : string;

begin
 ComputerName := UpperCase(GetEnvironmentVariable('COMPUTERNAME'));
 if LogonUser(PAnsiChar(UserName),      //UserName
             PAnsiChar(ComputerName),   // Domäne oder lokaler Rechner
             PAnsiChar(Password),       // Password
             LOGON32_LOGON_BATCH or LOGON32_LOGON_NETWORK or
             LOGON32_LOGON_INTERACTIVE,LOGON32_PROVIDER_DEFAULT,
             AdminToken)
 then
 begin
   if ImpersonateLoggedOnUser(AdminToken)then
   begin
     Application.Initialize;
     Application.CreateForm(TForm1, Form1);
     Application.Run;
   end
   else
   begin
     ...
     <Code, damit das Programm mit Adminrechten initialisiert die Formen erstellt und gestartet wird>
     Application.Initialize;
     Application.CreateForm(TForm1, Form1);
     Application.Run;
     RevertToSelf;             // zurückschalten zum angemeldeten Benutzer
   end;
end.
Code im ELSE Bereich: Gibt es irgendeinen Code, der das Programm initialisiert, die Formen erstellt und letztendlich das Program startet mit den lokalen Adminrechten, die mir bekannt sind?

Wäre für einen Ansatz dankbar. Habe schon fast das ganze Forum durch. Würde die Lösung mit einem 2. Programm, welches das Hauptprogramm mit Adminrechten aufruft vermeiden und alles schön in einem Programm haben.

Gruß, Sven

Bernhard Geyer 19. Feb 2007 12:34

Re: Programm mit Adminrechten starten mal anders???
 
AFAIK ist selbst MS bei Vista daran gescheidert und zum "guten alten" ShellExecute zurückgekehrt.

Christian Seehase 19. Feb 2007 12:40

Re: Programm mit Adminrechten starten mal anders???
 
Moin Sven,

wie sich ein laufender Prozess die Rechte ändern kann hatten wir hier schon.
Such' am Besten mal nach Hier im Forum suchenRevertToSelf

Ab Vista kann ein Prozess diese Veränderung allerdings nicht mehr vornehmen.

Piro 21. Feb 2007 15:29

Re: Programm mit Adminrechten starten mal anders???
 
Danke, ich werde die Lösung mit einem 2. Programm umsetzen.

Schönen Tag noch.

Gruß, Sven


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:26 Uhr.

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