■ - 2010/02/09/Delphiで管理者権限付きで実行する (2010-02-09)
どこに行ったのか、すぐに検索に引っかからなかったのでここにメモ。Delphiで管理者権限付きで実行する方法(Ansi版)。
uses .. shellapi ..;
procedure RunAsAdmin(hWnd: THandle; aFile: AnsiString; aParameters: AnsiString);
var
sei: TShellExecuteInfoA;
begin
ZeroMemory(@sei, SizeOf(sei));
sei.cbSize := SizeOf(sei);
sei.Wnd := hWnd;
sei.fMask := SEE_MASK_FLAG_DDEWAIT or SEE_MASK_FLAG_NO_UI;
sei.lpVerb := 'runas';
sei.lpFile := PAnsiChar(aFile);
sei.lpParameters := PAnsiChar(aParameters);
sei.nShow := SW_SHOWNORMAL;
if not ShellExecuteEx(@sei) then
raise Exception.Create('起動に失敗しました。(' + aFile + ')');
end;
くじらぶろぐD 