Работа с UAC (User Account Control)
Автор Сообщение
clk824 Не на форуме
Админ
*******

Сообщений: 674
Зарегистрирован: 01.2010
Сообщение: #1
Работа с UAC (User Account Control)
Цитата:По сути, UAC это все об уровнях привилегий. По умолчанию, обычное Windows приложение не требует администраторских привилегий. Вот почему под Vista, даже административные аккаунты, не используют полный доступ по умолчанию. Цель нормального UAC-приложения – запуск с доступом определяемым текущим аккаунтом, и лишь при реальной необходимости запрашивать повышенные права доступа. Сам процесс запроса повышения прав называется повышение привилегий (privilege elevation), и он требует, что бы пользователь подтвердил действие, перед тем, как это действие будет выполнено. Запрос на повышение может быть представлен либо в форме простого диалога Продолжить/Отменить (режим одобрения Админом), либо полноценного диалога логина (пользователи должны явным образом ввести свои полномочия), в зависимости от типа текущего аккаунта и настроек безопасности. Существует еще пара вариаций запроса в зависимости от того используется ли исполняемым файлом цифровая подпись или нет.
Оригинал





Хочешь сказать спасибо? Лучше нажми "Мне нравится", +1 или Like!
(Последний раз сообщение было отредактировано 18.09.2010 в 13:20, отредактировал пользователь clk824.)
18.09.2010 13:19
Вебсайт Найти все сообщения Цитировать это сообщение
all__ Не на форуме
Админ
*******

Сообщений: 855
Зарегистрирован: 01.2010
Сообщение: #2
RE: Работа с UAC (User Account Control)
А как это на дельфи?
Мне нужно, чтобы при определенных событиях приложение просило админские права.





Лучшая благодарность - "Мне нравится", +1 или Like! Вверху страницы.
18.09.2010 13:39
Вебсайт Найти все сообщения Цитировать это сообщение
clk824 Не на форуме
Админ
*******

Сообщений: 674
Зарегистрирован: 01.2010
Сообщение: #3
RE: Работа с UAC (User Account Control)
Пример программы с исходниками

Короче говоря создаётся манифест:
Цитата:<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="*"
name="UAC_Elevation_Prompt"
type="win32"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator"/>
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
publicKeyToken="6595b64144ccf1df"
language="*"
processorArchitecture="*"/>
</dependentAssembly>
</dependency>
</assembly>

Ключевой момент <requestedExecutionLevel level="requireAdministrator"/>





Хочешь сказать спасибо? Лучше нажми "Мне нравится", +1 или Like!
18.09.2010 13:46
Вебсайт Найти все сообщения Цитировать это сообщение
Создать ответ