Re: CreateProcessAsUser ERROR_PRIVILEGE_NOT_HELD
Die SaferAPI kann man dafür verwenden, allerdings ist sie nicht mit dem Vista Integritäts Level kompatibel.
|
AW: Re: CreateProcessAsUser ERROR_PRIVILEGE_NOT_HELD
Zitat:
Danke. madas |
AW: Re: CreateProcessAsUser ERROR_PRIVILEGE_NOT_HELD
Ich nutze die Gelegenheit, um nach einem anderen Posting aus diesem Thread nochmal nachzufragen:
Zitat:
|
AW: Re: CreateProcessAsUser ERROR_PRIVILEGE_NOT_HELD
Zitat:
Hier der Code:
Delphi-Quellcode:
function StartUserProcess(ApplicationName, CommandLine, WorkingDir: PAnsiChar): DWORD;
var hSaferLevel: DWORD; hAuthzLevel: SAFER_LEVEL_HANDLE; hToken: THandle; si:STARTUPINFO; pi: PROCESS_INFORMATION; begin Result := ERROR_SUCCESS; hSaferLevel := SAFER_LEVELID_NORMALUSER; hAuthzLevel := 0; if (SaferCreateLevel(SAFER_SCOPEID_USER, hSaferLevel, 0, @hAuthzLevel, nil)) then begin hToken := 0; if (SaferComputeTokenFromLevel(hAuthzLevel, 0, @hToken, 0, nil)) then begin ZeroMemory(@si, sizeof(STARTUPINFO)); si.cb := sizeof(STARTUPINFO); si.lpDesktop := nil; if (CreateProcessAsUser(hToken, ApplicationName, CommandLine, nil, nil, False, CREATE_NEW_CONSOLE, nil, WorkingDir, si, pi)) then begin CloseHandle(pi.hProcess); CloseHandle(pi.hThread); end else Result := GetLastError; end else Result := GetLastError; SaferCloseLevel(hAuthzLevel); end else Result := GetLastError; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 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