对于德尔福,

我想在Vista或Win 7上以管理员身份运行我的应用程序,您是否知道对此有解决方案?

相关问题:

Want to learn if my application has admin rights?

谢谢。

最佳答案

要运行具有管理员权限的程序,我具有此功能,到目前为止,该功能对我来说一直有效。

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;

10-05 22:15