如何启动具有管理员权限的应用程序?

时间:2010-07-21 13:58:32

标签: delphi

代表delphi,

我想在vista或win 7上使用管理员权限运行我的应用程序是否有可能知道的解决方案?

相关问题:

Want to learn if my application has admin rights?

感谢。

1 个答案:

答案 0 :(得分:7)

要运行具有管理员权限的程序,我有这个功能,到目前为止对我有用。

procedure RunAsAdmin(const aFile: string; const aParameters: string = ''; Handle: HWND = 0);
var
  sei: TShellExecuteInfo;
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 := PChar(aFile);
  sei.lpParameters := PChar(aParameters);
  sei.nShow := SW_SHOWNORMAL;

  if not ShellExecuteEx(@sei) then
    RaiseLastOSError;
end;