Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

повышение привелегий с помощью UAC


uniken1 ©   (2012-02-28 10:33:00) 

Можно ли сделать часть кода, требующая админских привелегий, выполняющейся с помощью повышения привилегий UAC?
Т.е. программа запускается под пользовательскими правами, на форме есть кнопка с кодом, наприме перезапуск службы. Как сделать что бы на ней появился стандартный значек UAC, и при нажатии на нее появлялся бы диалог повышения привилегий и дальнейший код выполнялся в бы уже с повышенными привелегиями?


uniken1   (2012-02-28 13:10:00) [1]

CRLF, P Спасибо.


p   (2012-02-28 12:44:00) [2]


> uniken1 ©   (28.02.12 10:33)


uses ShellAPI;

procedure TForm1.Button1Click(Sender: TObject);
var
ShellExecuteInfo: TShellExecuteInfo;
begin
Hide;
ShellExecuteInfo.cbSize:= SizeOf(TShellExecuteInfo);
ShellExecuteInfo.fMask:= 0;
ShellExecuteInfo.Wnd:= 0;
ShellExecuteInfo.lpVerb:= 'runas';
ShellExecuteInfo.lpFile:= PAnsiChar(Application.ExeName);
ShellExecuteInfo.lpParameters:= nil;
ShellExecuteInfo.lpDirectory:= nil;
ShellExecuteInfo.nShow:= SW_SHOWNORMAL;
if ShellExecuteEx(@ShellExecuteInfo) then
  Close;
Show;
end;


CRLF   (2012-02-28 11:54:00) [3]


> Как сделать что бы на ней появился стандартный значек UAC
TButton.ElevationRequired


> при нажатии на нее появлялся бы диалог повышения привилегий
Например, ShellExecute('runas', ...), запускай эту же или вспомогательную программу


Наверх

Титульная страница Поиск, карта сайта Написать письмо