Einzelnen Beitrag anzeigen

hathor
(Gast)

n/a Beiträge
 
#5

AW: ShellExecute vererbt (neuerding?) Admin-Rechte

  Alt 24. Okt 2014, 11:32
Weil SHELLEXECUTE keine Rechte erbt, gibt es RUNASADMIN mit SHELLEXECUTEEX:
Das damit gestartete Programm hat dann die mitgegebenen Rechte.

Delphi-Quellcode:
// RunAsAdmin(Handle, ExtractFilepath (Application.ExeName) + 'FileAccessCopy.exe', strParams);
procedure RunAsAdmin(hWnd: HWND; aFile: string; aParameters: string);
var sei: TShellExecuteInfo;
begin
     FillChar(sei, SizeOf(sei), 0);
     sei.cbSize := sizeof(sei);
     sei.Wnd := hWnd;
     sei.fMask := SEE_MASK_FLAG_DDEWAIT or SEE_MASK_FLAG_NO_UI;
     sei.lpVerb := 'runas';
     sei.lpFile := PChar(aFile);
     sei.lpParameters := PChar(aParameters);
     sei.nShow := SW_HIDE; // SW_SHOWNORMAL; SW_HIDE;
     if not ShellExecuteEx(@sei) then RaiseLastOSError;
end;

Geändert von hathor (24. Okt 2014 um 11:35 Uhr)
  Mit Zitat antworten Zitat