![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить права админа для работы с реестром?
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]
> Как моей проге дать возможность работать с реестром, если
> у юзера нет соотв. полномочий?
Никак, естественно. Что это за операционная система была бы, которая имела бы возможность программно устанавливать недоступные для пользователя полномочия?
> Например, для получения прав на управление питанием я писал:
Но ты-то сам при этом имел права на выключение компьютера, не так ли?