![]() |
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:
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?
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. 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 |
Re: Programm mit Adminrechten starten mal anders???
AFAIK ist selbst MS bei Vista daran gescheidert und zum "guten alten" ShellExecute zurückgekehrt.
|
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 ![]() Ab Vista kann ein Prozess diese Veränderung allerdings nicht mehr vornehmen. |
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 08:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz