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

Вниз

Правильное завершение системы   Найти похожие ветки 

 
Clamat ©   (2003-05-01 09:25) [0]

Нужна функция которая правильно будет выполнять перезагрузку,
выход из системы (log off) и выключение компа. Желательно под
системы с ядром NT. За ранее благодарен.


 
Yanis ©   (2003-05-01 13:24) [1]

Я уже задолбался видеть эти вопросы. Неужели трудно полазить по поисковикам, по FAQам, ну ладно держи:

Что бы перезагрузить NT нам нужны привилегии

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;




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

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

Наверх




Память: 0.46 MB
Время: 0.014 c
14-7697
savva
2003-06-17 10:32
2003.07.03
у кого был опыт лечения полиартрита?


1-7515
ABBS
2003-06-21 18:19
2003.07.03
Закрытие приложения


1-7504
Mishenka
2003-06-20 23:06
2003.07.03
Можно ли в MessageBox вставлять названия кнопок на русском языке?


11-7373
-Alex-
2002-10-26 17:26
2003.07.03
Пытаюсь отследить завершение работы Windows...


1-7406
LinOS
2003-06-23 06:33
2003.07.03
В ListBox хочу выделять Item правой кнопкой мыши.