本文整理自网络,侵删。
procedure RunAsAdmin(hWnd : HWND; aFile : String; aParameters : String);
Var
Sei : TShellExecuteInfoA;
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.lpfile := PChar(aFile);
sei.lpVerb := 'runas';
sei.lpParameters := PChar(aParameters);
sei.nShow := SW_SHOWNORMAL;
if not ShellExecuteEx(@sei) then
RaiseLastOSError;
end;
if OpenDialog1.Execute then
RunAsAdmin(self.Handle,OpenDialog1.FileName,'');
相关阅读 >>
Delphi firedac 下的 sqlite [7] - 备份、优化、事务(transaction)
更多相关阅读请进入《Delphi》频道 >>