对于德尔福,
我想在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;