Сейчас на форуме: (+5 невидимых)

 eXeL@B —› Программирование —› Загрузка DLL с правами админа (Vista UAC)
Посл.ответ Сообщение


Ранг: 631.1 (!), 62thx
Активность: 0.370.01
Статус: Участник
Автор VB Decompiler

Создано: 28 октября 2007 23:02
· Личное сообщение · #1

В общем задача:

1) есть EXE, который запускается без прав админа.
2) есть DLL которая динамически подружается этим EXE.

Так вот нужно чтобы при вызове LoadLibrary(эта DLL) из EXE всплыло окно UAC висты с просьбой ввести пароль администратора. Сколько не читал MSDN - так и не нашел ответ.

Также интересует вопрос как узнать (через API) запустил юзер программу с правами администратора или нет.

Если кто знает - заранее благодарю за ответ.

-----
Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе!





Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 28 октября 2007 23:10
· Личное сообщение · #2

Настоятельно рекомендую почитать статьи по теме на CodeProject:

Articles relating to the Vista Security APIs http://www.codeproject.com/vista-security/

В частности - по User Account Control

-----
EnJoy!





Ранг: 631.1 (!), 62thx
Активность: 0.370.01
Статус: Участник
Автор VB Decompiler

Создано: 28 октября 2007 23:14
· Личное сообщение · #3

Jupiter пишет:
Настоятельно рекомендую почитать статьи по теме на CodeProject


Спасибо - довольно интересные ресурсы по API висты - почитаю.

-----
Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе!




Ранг: 369.8 (мудрец), 400thx
Активность: 0.390
Статус: Участник

Создано: 28 октября 2007 23:18
· Личное сообщение · #4

GPcH пишет:
Также интересует вопрос как узнать (через API) запустил юзер программу с правами администратора или нет.

IsUserAnAdmin

-----
PGP key <0x1B6A24550F33E44A>




Ранг: 172.2 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 28 октября 2007 23:18
· Личное сообщение · #5

>>Также интересует вопрос как узнать (через API) запустил юзер программу с правами администратора или нет.

.idata:004061E4 ; Imports from shell32.dll
.idata:004061E4 extrn __imp_IsUserAnAdmin:dword ;

-----
HOW MUCH BLOOD WOULD YOU SHED TO STAY ALIVE





Ранг: 631.1 (!), 62thx
Активность: 0.370.01
Статус: Участник
Автор VB Decompiler

Создано: 28 октября 2007 23:46
· Личное сообщение · #6

ntldr
ProTeuS

Спасибо. То что надо.

Осталось узнать как поднять права через API. Прочтение статей данных Jupiter'ом не помогло - там все примеры для .NET, мне же нужен голый API.

То есть нужно чтото подобное этому:

www.codeproject.com/vista-security/UAC_Shield_for_Elevation.asp

только на голом API

-----
Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе!





Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 29 октября 2007 00:32
· Личное сообщение · #7

по поводу shell32.IsUserAnAdmin: в Win2k зови ф-цию по ординалу 680

-----
EnJoy!





Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 29 октября 2007 19:43
· Личное сообщение · #8

GPcH, так вот же - в соседней статье:
www.codeproject.com/useritems/UAC__The_Definitive_Guide.asp




Ранг: 631.1 (!), 62thx
Активность: 0.370.01
Статус: Участник
Автор VB Decompiler

Создано: 31 октября 2007 03:35
· Личное сообщение · #9

Jupiter
s0larian

Спасибо! Разобрался, закрываю тему

-----
Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе!



 eXeL@B —› Программирование —› Загрузка DLL с правами админа (Vista UAC)
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати