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

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

Win 7 и запуск от имени администратора


Gu ©   (2010-11-12 06:02:00) 

Интересует вопрос: у некоторых исполняемых файлов, когда смотришь через проводник (даже не виндовских, а сторонних производителей, только что скачаных например откудато и еще нетронутых) около значка отображается картинка щита, ну типа запуск возможен только от имени администратора, и при запуске выдается запрос на повышение прав.  Ручками это решается так: входим в свойства файла, ставим галку - выполнять от имени администратора. Но у таких програм (у которых уже есть значек такой) это свойство недоступно (вкладка затемнена). Как система узнает о том, что нужен такой вид запуска? Очевидно из каких то особеностей файла.
Что надо сделать чтобы у своей программы было тоже самое? Может есть какие то директивы компиляции?


Anatoly Podgoretsky   (2010-11-12 08:53:00) [1]

> Gu  (12.11.2010 06:08:01)  [1]

Как это нет, а манифест в ресурсах?


Gu   (2010-11-12 06:56:00) [2]

Е! заработало. оказывается надо манифест в ресурсы включить

создаем файл например my.manifest

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
 <assemblyIdentity
   type="win32"
   name="MyCoolProgram"
   version="0.1.0.0"
   processorArchitecture="*"/>
 <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
   <security>
     <requestedPrivileges>
       <requestedExecutionLevel
         level="requireAdministrator"
         uiAccess="false"/>
       </requestedPrivileges>
   </security>
 </trustInfo>
</assembly>

создаем my.rc

1 24 "my.manifest"

компилим brc32 my.rc получаем my.res

в юните около

implementation

{$R *.dfm}

добавляем

{$R my.res}

собираем shift+f9 и готово


Gu   (2010-11-12 06:08:00) [3]

похожий вопрос нашел тут: http://www.cyberforum.ru/delphi-beginners/thread96612.html
но ответов там нет. еще есть метод с использованием внешних файлов с манифестом, но у таких прог никаких файлов кроме исполняемого нету.


Наверх

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