![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с реестром под бесправным юзером [D6, NT4, Win2k]
Olimpik © (2002-11-25 20:16:00)Здраствуйте.
Я не могу разобраться, можно ли запустить приложение с правами администратора под простым юзером на W2k?
Если можно, то как, и смогу ли я при этом записать в HKEY_LOCAL_MACHINE что-нибудь?
Сможет ли он завершить работу программы?
Моя программа добавлена в автозапуск для всех юзеров software\microsoft\windows\currentversion\run.
ZZ (2002-11-30 16:08:00) [1]don-do
Пять... нет даже десять баллов за ответ!!!
don-do (2002-11-30 11:50:00) [2]function EnablePrivilege(PrivName:string): boolean;
var
TokenPriv: TTokenPrivileges;
TokenHandle: THandle;
begin
Result:=false;
if OpenProcessToken(GetCurrentProcess,TOKEN_ADJUST_PRIVILEGES,
TokenHandle) then
if LookupPrivilegeValue(nil,PChar(PrivName),
TokenPriv.Privileges[0].LUID) then
begin
TokenPriv.PrivilegeCount:=1;
TokenPriv.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;
if not AdjustTokenPrivileges(TokenHandle,false,TokenPriv,0,
TTokenPrivileges(nil^),DWORD(nil^)) then exit;
end;
Result:=True;
end;
If GetVersion < $80000000 then
EnablePrivilege("SeSystemtimePrivilege"); //SE_SYSTEMTIME_NAME
If (RebootFlags and (EWX_POWEROFF or EWX_REBOOT or EWX_SHUTDOWN))>0 then
EnablePrivilege("SeShutdownPrivilege");
Cobalt (2002-11-30 00:02:00) [3]Запускай его(приложение) с правами Админа. т.е. см. CreateProcessWithLogonW
Olimpic (2002-11-26 18:43:00) [4]У меня есть пароль admina, то есть я и есть Admin. Мне бы сделать клиентское приложение, которое позволяло бы изменять реестр под юзером.
Olimpic (2002-11-26 18:33:00) [5]Интересно, почему не расскажите?
Игорь Шевченко (2002-11-26 14:50:00) [6]Знаем мы, как запустить программу с правами администратора под NT от простого пользователя, знаем, рассказали нам специалисты.
Знаем, но не скажем. (с) Химия и жизнь - переписка.
Marcus (2002-11-26 11:40:00) [7]В HKEY_LOCAL_MACHINE сможешь записать и даже создать подраздел, если откроешь его с правом KEY_WRITE, а не KEY_ALL_ACCESS
Olimpic (2002-11-26 09:25:00) [8]А Вы не можете рассказать поподробнее или указать ссылку?
ZZ (2002-11-26 02:01:00) [9]Только для W2k больше подходит CreateProcessWithLogonW..
Сможет ли он завершить работу программы?
Если он - это юзер, то он может закрыть окно программы, а вот через завершение процесса не получится.
Opuhshii (2002-11-25 20:49:00) [10]Да!, можно запустить приложение с правами администратора,. только запускать её надо по-особенному,.. CreateProcessAsUser естественно Администратор - это вы,.. )