![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
apostolnikolai |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 19.3.2009 Репутация: нет Всего: нет |
Как прогу заставить запустится из под администратора в Windows 7
|
|||
|
||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 29 Всего: 89 |
Есть несколько способов, а ответ зависит от вашего сценария ("зачем это надо").
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
apostolnikolai |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 19.3.2009 Репутация: нет Всего: нет |
мне нада чтоб при запуске моего exe в Windows 7 сразу производился запуск от админа
|
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 9 Всего: 133 |
В свойствах файла галочку поставь.
![]() -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
apostolnikolai |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 19.3.2009 Репутация: нет Всего: нет |
а по подробней если можно
|
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 9 Всего: 133 |
![]() -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
apostolnikolai |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 19.3.2009 Репутация: нет Всего: нет |
а из кода можно как нить при запуске запросить права ?
|
|||
|
||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 29 Всего: 89 |
Ещё раз: есть МНОГО способов это сделать. А правильный ответ зависит от того, зачем тебе это надо.
Так тебя и спрашивают: ЗАЧЕМ тебе это надо. Например, твоя программа - установщик. И ей нужны права, чтобы установить программу в Program Files. Ещё вариант - твоя программа вроде оснастки MMC. И ей требуются права, потому что их требуют некоторые загружаемые в неё оснастки. Ещё пример - редактор реестра. Ему нужны права, чтобы править HKLM. Ещё пример - служебная программа управления службой. Ей нужны права, чтобы запускать и останавливать службу. Во всех случаях правильное решение будет разным. Что у тебя? -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
SPrograMMer |
|
||||
![]() Спамер :) ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 5.11.2004 Где: Краснодар Репутация: нет Всего: 6 |
во, расскажите про это
и про это ![]() -------------------- животное = зверь законченный гентушник |
||||
|
|||||
apostolnikolai |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 19.3.2009 Репутация: нет Всего: нет |
у меня прорга для настройки VPN и TCP/IP и для этого ей нада чтод она была запущена от админа
|
|||
|
||||
apostolnikolai |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 19.3.2009 Репутация: нет Всего: нет |
и хотелось бы чтоб при запуске ехе винда сразу предлагала запустить прогу от админа
|
|||
|
||||
CodeMonkey |
|
||||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 29 Всего: 89 |
Эти примеры относятся к классу программ, которые вообще не могут работать без администраторских прав. В этом случае применяется манифест с requestedExecutionLevel равным requireAdministrator.
Этот пример относится к программе, которая должна работать для всех пользователей. Здесь используется три модели: - Ничего не делать. Это самый типичный случай, подходящий для большинства программ. Кто программу запустил - под теми правами она и выполняется. К примеру, файловый менеджер позволит просмотреть Program Files и My documents, но отредактировать - только My documents. Если пользователю нужно отредактировать Program Files, он может запустить файловый менеджер под учётной записью, имеющей на это права. Понятно, что в программе нужно предусматривать ситуацию с нехваткой прав (вообще, это нужно делать всегда, но тут - особенно). - Элевация по запросу. Это модель Проводника Windows и Total Commander - когда программа запускает саму себя под администратором только для выполнения одной или пачки связанных операций и выхода. Модель применяется, когда операции над защищёнными объектами могут являться частью обычной работы, но относительно редки. Реализуется командой 'runas' или любым другим подходящим способом. - Приложение смешанного режима. Это модель RegEdit. Применяется только системными утилитами, когда программе нужно работать с защищёнными объектами в больших количествах. Заключается в том, что приложение запускается с максимальными правами, доступными пользователю. К примеру, запущенная под обычным пользователем программа под ним и будет работать. Но запущенная администратором - попросит элевацию до максимального уровня (ибо он доступен администратору). Реализуется манифестом с requestedExecutionLevel равным highestAvailable.
Если это действительно её основная функциональность - то действовать так же, как и для установщика программ. Но если там есть просмотр и отдельно - изменение настроек, то лучше бы сделать элевацию по запросу. На манер того, как это делает стандартный диалог настроек. Ты открываешь свойства и можешь их просматривать. Но если ты хочешь их изменить - для этого есть кнопочка со щитом. Это сообщение отредактировал(а) CodeMonkey - 4.2.2011, 20:49 -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
||||||
|
|||||||
apostolnikolai |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 19.3.2009 Репутация: нет Всего: нет |
нет она не установщик но ей для работы нужны права админи инане не чего не робит права ей нужны сразу при pапуске ! для правки TCP
|
|||
|
||||
northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 12 Всего: 20 |
Ты ответы читаешь? CodeMonkey в ответах просто "раздухарился". (Тот его ответ можно включить в "Избранное" для цитирования). -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
apostolnikolai |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 19.3.2009 Репутация: нет Всего: нет |
Все спасибо !!!! За помощь !!!
ВОТ НАШЕЛ ЕСЛИ КОМУ ЕЩЕ НА ДА БУДЕТ ПРОВЕРИЛ ВСЕ РАБОТАЕТ ! Многие начинающие программисты сталкиваются с проблемой поднятия привилегий в Vista. Существует 3 способа это сделать: Включить специальный манифест в исполняемый файл Поднять привилегии во время выполнения программы путем запроса их у системы соответствующими API функциями Запустить отдельный процесс с привилегиями (в том числе и самого себя) Рассмотрим первый и третий способ как самые простые. Чтобы создать манифест, необходимо сделать текстовый файл манифеста в кодировке UTF-8 со следующим содержимым:
Для того чтобы включить в 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 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |