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

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

Как получить права админа для работы с реестром?


maxistent ©   (2006-08-29 22:59:00) 

Ситуация: У нас в универе на компах стоят ограничения для юзеров.
Проблема: Софт, работающий с реестром, "вылетает" с ошибкой, типа нет прав и т.д. Даже RegEdit не запускается.
Вопрос: Как моей проге дать возможность работать с реестром, если у юзера нет соотв. полномочий?

P.S. Я использую приблизительно такой код для установки привилегий, но не знаю, что писать в NAME:

Procedure SetMyPrivileges(Name:string);
var
hToken:THandle;
SePrivilegeValue:Int64;
tkp:TOKEN_PRIVILEGES;
ReturnLength:Cardinal;
begin
if not OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,hToken) then
exit;
if not LookupPrivilegeValue(nil, PChar(name),SePrivilegeValue) then
begin
CloseHandle(hToken);
exit;
end;
tkp.PrivilegeCount:= 1;
tkp.Privileges[0].Luid := SePrivilegeValue;
tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,false,tkp,SizeOf(tkp),tkp,ReturnLength);
if GetLastError()<> ERROR_SUCCESS  then exit;
end;


Например, для получения прав на управление питанием я писал: SetMyPrivileges('SeShutDownPrivilege')...
Как быть с реестром?


Sam Stone   (2006-08-30 10:45:00) [1]


>  Как быть?

писать в HKEY_CURRENT_USER. Туда, вроде, всегда можно писать.


Ketmar   (2006-08-30 10:31:00) [2]

> [2] maxistent ©   (30.08.06 09:44)
наверное, написать верный код?


umbra   (2006-08-30 10:14:00) [3]


> Как быть?
> <Ц

узнать логин и пароль администратора


maxistent   (2006-08-30 09:44:00) [4]

Некоторые проги всё-таки работали с реестром!!! А мои - нет. :-(  Как быть?


DrPass   (2006-08-29 23:19:00) [5]


> Как моей проге дать возможность работать с реестром, если
> у юзера нет соотв. полномочий?

Никак, естественно. Что это за операционная система была бы, которая имела бы возможность программно устанавливать недоступные для пользователя полномочия?

> Например, для получения прав на управление питанием я писал:

Но ты-то сам при этом имел права на выключение компьютера, не так ли?


Наверх

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