![]() |
CreateProcess: Prozess mit Administratorrechten?
Einen schönen guten Tag!
Ich verwende folgenden Code, um ein Programm mit einer gegebenen CommandLine zu starten:
Code:
Welche Parameter muss ich nun wie verändern, um das Programm mit Administrator-Rechten auszuführen?
var
si: TStartupInfo; pi: TProcessInformation; ZeroMemory(@si, sizeof(si)); si.cb := sizeof(si); si.dwFlags := STARTF_USESHOWWINDOW; si.wShowWindow := WindowMode; if Winapi.Windows.CreateProcess(nil, PChar(cmdLine), nil, nil, False, 0, nil, nil, si, pi) then begin Winapi.Windows.CloseHandle(pi.hThread); Winapi.Windows.CloseHandle(pi.hProcess); Exit; end; |
AW: CreateProcess: Prozess mit Administratorrechten?
|
AW: CreateProcess: Prozess mit Administratorrechten?
Zitat:
|
AW: CreateProcess: Prozess mit Administratorrechten?
Ich habe das Problem jetzt so (auf brutale Weise) gelöst:
Code:
Funktioniert wunderbar!
var
ThisProgramToRun, ThisParamToRun: string; p: Integer; if chkAdminMode.Checked then begin cmdline := Trim(cmdline); if ContainsText(cmdline, ' ') then // wenn cmdline ein Leerzeichen enthält begin p := Pos(' ', cmdline); ThisProgramToRun := JclStrings.StrLeft(cmdline, p - 1); ThisParamToRun := Trim(JclStrings.StrRestOf(cmdline, p + 1)); end else // wenn cmdline kein Leerzeichen enthält begin ThisProgramToRun := cmdline; ThisParamToRun := ''; end; JclShell.ShellExecEx(ThisProgramToRun, ThisParamToRun, 'runas'); EXIT; end |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:21 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 by Thomas Breitkreuz