Запуск программы от имени администратора (delphi)

Система и файлы   28 Февраль 2011  Автор статьи: admin 

В этой статье я отвечу на данный вопрос, который задают мне читатели cybern.ru. С этого момента я переодически буду давать развернутый ответ на вопросы читателей. 

Скачайте этот архив, который представляет собой модуль, необходимый для запуска приложения от имени администратора.

Создайте новое приложение на Delphi. В папку с приложением поместите файлы модуля RusAsExt, которые вы скачали в архиве, предложенном выше. В раздел uses добавьте модуль runasext.

Благодаря этому модулю, можно легко запускать любые файлы, в т.ч. и исполняемые, от имени администратора, зная его логин и пароль. Пример использования модуля runasext:

1
2
3
4
5
6
procedure tform1.button1click(sender: tobject);
var a:string;
begin
a:=runas('login', 'password', 'c:\file.exe');
if a<>'success' then showmessage(a);
end;

Если вы увидите сообщение «success» после нажатия на Button1, значит файл успешно запустился от имени администратора. Если же нет, то файл не запустился, а значит возникли другие ошибки. Привожу значения, которые может получить a в случае различных ошибок:

wrong password — неверный пароль
wrong username or password — неправильный логин или пароль
logon failure. user account restriction — указанный пользователь не облает правами администратора
logon failure. the user has not been granted the requested logon type at this computer. — указанному пользователю нельзя предоставить требуемый тип входа в систему на этом компьютере.
file not found — не найден файл.
access denied — нет доступа.
success — файл успешно запущен от имени администратора.

Научиться программировать

  • на Delphi

  • на Java

  • на C++