Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.14;
Скачать: CL | DM;

Вниз

Перезагрузка Виндов   Найти похожие ветки 

 
Brain Force ©   (2003-04-28 19:21) [0]

Народ подскажите, как программно перезагрузить винды, не запрашивая подтверждения юзера???


 
default ©   (2003-04-28 19:26) [1]

ExitWindowsEx это в Win9x
в NT там ещё привелегию на это действо сначала надо получить...


 
Brain Force ©   (2003-04-28 19:33) [2]

а как получить привилегию???


 
Yanis ©   (2003-04-28 19:50) [3]


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;


 
_ALEXey_ ©   (2003-04-29 16:04) [4]

Чтоб без лишних вопрос было, флаг нужен EWX_REBOOT or EWX_FORCE



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

Текущий архив: 2003.07.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
3-44563
wild_arg
2003-06-19 13:03
2003.07.14
БД MS Access


14-44865
NickBat
2003-06-27 10:37
2003.07.14
BLOB & PHP & FIREBIRD


14-44869
LinOS
2003-06-26 07:47
2003.07.14
Плодимся и размножаемся.


7-44933
Shurik
2003-04-27 00:57
2003.07.14
Привязка к железу


1-44753
stalker780
2003-07-01 16:50
2003.07.14
надо сделать свой хинт