Ich sollte meinen Code auch mal überarbeiten, mehr als alt und ausgedient.
Delphi-Quellcode:
function RunAs(
const Handle: Hwnd;
const Path, Params:
string): Boolean;
var
sei: TShellExecuteInfoA;
begin
FillChar(sei, SizeOf(sei), 0);
sei.cbSize := SizeOf(sei);
sei.Wnd :=
Handle;
sei.fMask := SEE_MASK_FLAG_DDEWAIT
or SEE_MASK_FLAG_NO_UI;
sei.lpVerb := '
runas';
sei.lpFile := PAnsiChar(Path);
sei.lpParameters := PAnsiChar(Params);
sei.nShow := SW_SHOWNORMAL;
Result := ShellExecuteExA(@sei);
end;