Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запуск программы в Windows 7 
:(
    Опции темы
apostolnikolai
Дата 3.2.2011, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 19.3.2009

Репутация: нет
Всего: нет



Как прогу заставить запустится из под администратора в Windows 7
PM MAIL   Вверх
CodeMonkey
Дата 3.2.2011, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 29
Всего: 89



Есть несколько способов, а ответ зависит от вашего сценария ("зачем это надо").


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
apostolnikolai
Дата 3.2.2011, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 19.3.2009

Репутация: нет
Всего: нет



мне нада чтоб при запуске моего exe в Windows 7 сразу производился запуск от админа 
PM MAIL   Вверх
Poseidon
Дата 4.2.2011, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 9
Всего: 133



В свойствах файла галочку поставь.  smile 


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
apostolnikolai
Дата 4.2.2011, 00:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 19.3.2009

Репутация: нет
Всего: нет



а по подробней если можно
PM MAIL   Вверх
Poseidon
Дата 4.2.2011, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 9
Всего: 133



user posted image


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
apostolnikolai
Дата 4.2.2011, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 19.3.2009

Репутация: нет
Всего: нет



а из кода можно как нить при запуске запросить права ?
PM MAIL   Вверх
CodeMonkey
Дата 4.2.2011, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 29
Всего: 89



Цитата(apostolnikolai @  4.2.2011,  09:32 Найти цитируемый пост)
а из кода можно как нить при запуске запросить права ? 


Ещё раз: есть МНОГО способов это сделать. А правильный ответ зависит от того, зачем тебе это надо.

Цитата(apostolnikolai @  3.2.2011,  23:51 Найти цитируемый пост)
мне нада чтоб при запуске моего exe в Windows 7 сразу производился запуск от админа  


Так тебя и спрашивают: ЗАЧЕМ тебе это надо.

Например, твоя программа - установщик. И ей нужны права, чтобы установить программу в Program Files.
Ещё вариант - твоя программа вроде оснастки MMC. И ей требуются права, потому что их требуют некоторые загружаемые в неё оснастки.
Ещё пример - редактор реестра. Ему нужны права, чтобы править HKLM.
Ещё пример - служебная программа управления службой. Ей нужны права, чтобы запускать и останавливать службу.

Во всех случаях правильное решение будет разным.

Что у тебя?


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
SPrograMMer
Дата 4.2.2011, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Спамер :)
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 5.11.2004
Где: Краснодар

Репутация: нет
Всего: 6



Цитата(CodeMonkey @  4.2.2011,  11:07 Найти цитируемый пост)
Ещё пример - редактор реестра. Ему нужны права, чтобы править HKLM.

во, расскажите про это

Цитата(CodeMonkey @  4.2.2011,  11:07 Найти цитируемый пост)
твоя программа - установщик. И ей нужны права, чтобы установить программу в Program Files.

и про это 


 smile 


--------------------
животное = зверь
законченный гентушник
PM MAIL ICQ Jabber   Вверх
apostolnikolai
Дата 4.2.2011, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 19.3.2009

Репутация: нет
Всего: нет



у меня прорга для настройки VPN и TCP/IP и для этого ей нада чтод она была запущена от админа
PM MAIL   Вверх
apostolnikolai
Дата 4.2.2011, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 19.3.2009

Репутация: нет
Всего: нет



и хотелось бы чтоб при запуске ехе винда сразу предлагала запустить прогу от админа 
PM MAIL   Вверх
CodeMonkey
Дата 4.2.2011, 20:48 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 29
Всего: 89



Цитата(SPrograMMer @  4.2.2011,  12:28 Найти цитируемый пост)
твоя программа - установщик. И ей нужны права, чтобы установить программу в Program Files.


Эти примеры относятся к классу программ, которые вообще не могут работать без администраторских прав. В этом случае применяется манифест с requestedExecutionLevel равным requireAdministrator.

Цитата(SPrograMMer @  4.2.2011,  12:28 Найти цитируемый пост)
Ещё пример - редактор реестра. Ему нужны права, чтобы править HKLM


Этот пример относится к программе, которая должна работать для всех пользователей. Здесь используется три модели:

- Ничего не делать. Это самый типичный случай, подходящий для большинства программ. Кто программу запустил - под теми правами она и выполняется. К примеру, файловый менеджер позволит просмотреть Program Files и My documents, но отредактировать - только My documents. Если пользователю нужно отредактировать Program Files, он может запустить файловый менеджер под учётной записью, имеющей на это права. Понятно, что в программе нужно предусматривать ситуацию с нехваткой прав (вообще, это нужно делать всегда, но тут - особенно).

- Элевация по запросу. Это модель Проводника Windows и Total Commander - когда программа запускает саму себя под администратором только для выполнения одной или пачки связанных операций и выхода. Модель применяется, когда операции над защищёнными объектами могут являться частью обычной работы, но относительно редки. Реализуется командой 'runas' или любым другим подходящим способом.

- Приложение смешанного режима. Это модель RegEdit. Применяется только системными утилитами, когда программе нужно работать с защищёнными объектами в больших количествах. Заключается в том, что приложение запускается с максимальными правами, доступными пользователю. К примеру, запущенная под обычным пользователем программа под ним и будет работать. Но запущенная администратором - попросит элевацию до максимального уровня (ибо он доступен администратору). Реализуется манифестом с requestedExecutionLevel равным highestAvailable.

Цитата(apostolnikolai @  4.2.2011,  16:33 Найти цитируемый пост)
у меня прорга для настройки VPN и TCP/IP и для этого ей нада чтод она была запущена от админа 


Если это действительно её основная функциональность - то действовать так же, как и для установщика программ.

Но если там есть просмотр и отдельно - изменение настроек, то лучше бы сделать элевацию по запросу. На манер того, как это делает стандартный диалог настроек. Ты открываешь свойства и можешь их просматривать. Но если ты хочешь их изменить - для этого есть кнопочка со щитом.

Это сообщение отредактировал(а) CodeMonkey - 4.2.2011, 20:49


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
apostolnikolai
Дата 5.2.2011, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 19.3.2009

Репутация: нет
Всего: нет



нет она не установщик но ей для работы нужны права админи инане не чего не робит права ей нужны сразу при pапуске ! для правки TCP
PM MAIL   Вверх
northener
Дата 5.2.2011, 03:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 12
Всего: 20



Цитата(apostolnikolai @  5.2.2011,  00:11 Найти цитируемый пост)
нет она не установщик но ей для работы нужны права админи инане не чего не робит права ей нужны сразу при pапуске ! для правки TCP 


Ты ответы читаешь?
CodeMonkey в ответах просто "раздухарился". (Тот его ответ можно включить в "Избранное" для цитирования).



--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
apostolnikolai
Дата 5.2.2011, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 19.3.2009

Репутация: нет
Всего: нет



Все спасибо !!!! За помощь !!! 
ВОТ НАШЕЛ ЕСЛИ КОМУ ЕЩЕ НА ДА БУДЕТ ПРОВЕРИЛ ВСЕ РАБОТАЕТ !

Многие начинающие программисты сталкиваются с проблемой поднятия привилегий в Vista. Существует 3 способа это сделать:
Включить специальный манифест в исполняемый файл
Поднять привилегии во время выполнения программы путем запроса их у системы соответствующими API функциями
Запустить отдельный процесс с привилегиями (в том числе и самого себя)


Рассмотрим первый и третий способ как самые простые. Чтобы создать манифест, необходимо сделать текстовый файл манифеста в кодировке UTF-8 со следующим содержимым:

Код

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly
xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">
<assemblyIdentity
processorArchitecture="x86"
version="1.0.0.0"
type="win32"
name="ЛинкМастер 2.0"/>
<description>ЛинкМастер 2.0 - новый стандарт в SEO аналитике</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
publicKeyToken="6595b64144ccf1df"
language="*"
processorArchitecture="x86"/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="requireAdministrator"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>



Для того чтобы включить в Delphi приложение этот манифест для Vista, нужно проделать следующие шаги:
Сохранить указанное выше содержимое в xml файле с кодировкой UTF-8, например manifest.xml
Создать тестовый файл задания для компилятора ресурсов brcc32.exe. Пусть например manifest.rc, со следующим содержимым:
1 24 manifest.xml
Скомпилировать ресурсный файл. Положить manifest.xml, manifest.rc в папку с компилятором ресурсов brcc32.exe (находится в директории Bin с установленной Delphi)
Скомпилировать ресурсный файл. Перетаскиваем manifest.rc в пиктограмму brcc32.exe.
Получившийся файл manifest.res, кладем в директорию с вашим проектом Delphi.
В свойствах проекта пишем подключение ресурса {$R manifest.res}

Вот и все. Теперь при запуске приложения с таким манифестом будет выводится административный запрос, и программа в Vista будет запущена под администратором.  

ВЗЯТО ЗДЕСЬ : http://www.procoding.ru/dinamicheskoe-podn...elegij-v-vista/

Это сообщение отредактировал(а) apostolnikolai - 5.2.2011, 11:40
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0814 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.