Вниз
Скачать: CL | DM;

Работа с реестром под бесправным юзером   Найти похожие ветки 

← →
Olimpik   (2002-11-25 20:16) [0]

Здраствуйте.
Я не могу разобраться, можно ли запустить приложение с правами администратора под простым юзером на W2k?
Если можно, то как, и смогу ли я при этом записать в HKEY_LOCAL_MACHINE что-нибудь?
Сможет ли он завершить работу программы?
Моя программа добавлена в автозапуск для всех юзеров software\microsoft\windows\currentversion\run.


← →
Opuhshii ©   (2002-11-25 20:49) [1]

Да!, можно запустить приложение с правами администратора,. только запускать её надо по-особенному,.. CreateProcessAsUser естественно Администратор - это вы,.. )


← →
ZZ ©   (2002-11-26 02:01) [2]

Только для W2k больше подходит CreateProcessWithLogonW..

Сможет ли он завершить работу программы?
Если он - это юзер, то он может закрыть окно программы, а вот через завершение процесса не получится.


← →
Olimpic   (2002-11-26 09:25) [3]

А Вы не можете рассказать поподробнее или указать ссылку?


← →
Marcus   (2002-11-26 11:40) [4]

В HKEY_LOCAL_MACHINE сможешь записать и даже создать подраздел, если откроешь его с правом KEY_WRITE, а не KEY_ALL_ACCESS


← →
Игорь Шевченко ©   (2002-11-26 14:50) [5]

Знаем мы, как запустить программу с правами администратора под NT от простого пользователя, знаем, рассказали нам специалисты.
Знаем, но не скажем. (с) Химия и жизнь - переписка.


← →
Olimpic   (2002-11-26 18:33) [6]

Интересно, почему не расскажите?


← →
Olimpic   (2002-11-26 18:43) [7]

У меня есть пароль admina, то есть я и есть Admin. Мне бы сделать клиентское приложение, которое позволяло бы изменять реестр под юзером.


← →
Cobalt ©   (2002-11-30 00:02) [8]

Запускай его(приложение) с правами Админа. т.е. см. CreateProcessWithLogonW


← →
don-do   (2002-11-30 11:50) [9]

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");




← →
ZZ ©   (2002-11-30 16:08) [10]

don-do
Пять... нет даже десять баллов за ответ!!!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.01 c
14-15908
Cobalt
2003-01-19 22:17
2003.02.06
Обращаюсь ко взрослым:


1-15714
Новичок
2003-01-27 19:35
2003.02.06
Image, цвет пикселя.


1-15596
kosmos
2003-01-29 01:47
2003.02.06
помогите кто может, не допущен к зачету(1-ый курс)


14-15933
phantom2040
2003-01-21 20:12
2003.02.06
Отчет в D7


1-15587
Zloy
2003-01-29 01:19
2003.02.06
для запуска проги использую следующую конструкцию:




   Наверх