Текущий архив: 2003.02.10;
Скачать: CL | DM;
ВнизShutDown XP Найти похожие ветки
← →
subdigger (2002-12-04 07:25) [0]Необходимо например вырубить телегу под бесправным юзером.
Может как-то запустить под другим юзером типа SYSTEM?
Люди подскажите почему не срабатывает.
function SetPrivilege(aPrivilegeName : string;
aEnabled : boolean ): boolean;
var
TPPrev,
TP : TTokenPrivileges;
Token : THandle;
dwRetLen : DWord;
begin
Result := False;
OpenProcessToken(GetCurrentProcess,TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, Token );
TP.PrivilegeCount := 1;
if( LookupPrivilegeValue(nil, PChar( aPrivilegeName ),
TP.Privileges[ 0 ].LUID ) ) then
begin
if( aEnabled )then
TP.Privileges[0].Attributes:= SE_PRIVILEGE_ENABLED
else
TP.Privileges[0].Attributes:= 0;
dwRetLen := 0;
Result := AdjustTokenPrivileges(Token,False,TP,
SizeOf( TPPrev ),
TPPrev,dwRetLen );
end;
CloseHandle( Token );
end;
И вот Рубилка
function WinExit( iFlags : integer ) : boolean;
// возможные флаги:
// EWX_LOGOFF
// EWX_REBOOT
// EWX_SHUTDOWN
begin
Result := True;
if( SetPrivilege( "SeShutdownPrivilege", true ) ) then
begin
if( not ExitWindowsEx( iFlags, 0 ) )then
begin
Result := False;
end;
SetPrivilege( "SeShutdownPrivilege", False )
end
else
begin
Result := False;
end;
end; </code
← →
Ketmar (2002-12-04 10:26) [1]интересные люди. вот как есть интересные. если у вас нету прав на инициацию перезагрузки, то откуда бы у вас взяться правам на разрешение/запрещение инициации перезагрузки? головой думать надо.
Satanas Nobiscum! 04-Dec-XXXVII A.S.
← →
msts (2002-12-04 12:01) [2]Такая херня сплошь и рядом - не можешь удалить файл (прав нет)? - но можешь стать его владельцем! - а потом спокойно его удаляешь
← →
Игорь Шевченко (2002-12-04 12:43) [3]msts (04.12.02 12:01)
А можешь и не стать...
Страницы: 1 вся ветка
Текущий архив: 2003.02.10;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.01 c