Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.01.2013, 04:36
Dmitry_DM Dmitry_DM вне форума
Активный
 
Регистрация: 07.08.2012
Сообщения: 258
Версия Delphi: Delphi 7
Репутация: 11
По умолчанию Запуск программы от имени администратора

Здравствуйте! Недавно задался такой задачей. Видел в интернете много примеров реализации, но толком ничего не работает.. Так вот что я хочу: сделать программу на delphi чтобы при нажатии на кнопку открывалось диалоговое окно с выбором exeшника и оно запускало эту программу используя имя и пароль админа (они известны). Я хочу один раз их вбить в программу и пользоваться.. Как такое реализовать, помогите!
Ответить с цитированием
  #2  
Старый 05.01.2013, 11:52
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,097
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Мне кажется, что надо копать в сторону CreateProcessEx и соотв. SecurityDescriptor'a...
Ответить с цитированием
  #3  
Старый 05.01.2013, 13:40
Dmitry_DM Dmitry_DM вне форума
Активный
 
Регистрация: 07.08.2012
Сообщения: 258
Версия Delphi: Delphi 7
Репутация: 11
По умолчанию

Я вот пытался что-то сделать, но чего-то не работает.. может посоветуете что-нибудь?
Вложения
Тип файла: rar RunAsAdmin.rar (168.5 Кбайт, 68 просмотров)
Ответить с цитированием
  #4  
Старый 05.01.2013, 19:21
Dmitry_DM Dmitry_DM вне форума
Активный
 
Регистрация: 07.08.2012
Сообщения: 258
Версия Delphi: Delphi 7
Репутация: 11
По умолчанию

Ну что, знает кто-нибудь как решить эту задачу? Теоретически это не трудно..но я не могу понять почему, к примеру, моя программа не работает..
Ответить с цитированием
  #5  
Старый 06.01.2013, 10:26
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
procedure RunAsAdministrator(const source:string);
var
  shExecInfo: PShellExecuteInfoA;
begin
  New(shExecInfo);
  shExecInfo^.cbSize := SizeOf(SHELLEXECUTEINFOA);
  shExecInfo^.fMask := 0;
  shExecInfo^.Wnd := 0;
  shExecInfo^.lpVerb := 'runas';
  shExecInfo^.lpFile := PAnsiChar(ExtractFileName(source));
  shExecInfo^.lpParameters := '';
  shExecInfo^.lpDirectory := PAnsiChar(ExtractFilePath(source));
  shExecInfo^.nShow := SW_SHOWNORMAL;
  shExecInfo^.hInstApp := 0;
  ShellExecuteEx(shExecInfo);
  Dispose(shExecInfo);
end;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Этот пользователь сказал Спасибо NumLock за это полезное сообщение:
Dmitry_DM (06.01.2013)
  #6  
Старый 06.01.2013, 12:22
Dmitry_DM Dmitry_DM вне форума
Активный
 
Регистрация: 07.08.2012
Сообщения: 258
Версия Delphi: Delphi 7
Репутация: 11
По умолчанию

А как к этой процедуре обращаться, и что надо писать в uses что бы программа понимала типы переменных, которые используются в этой процедуре?
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:20.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025