Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема с WinApi, функция перезагрузки

17K
08 ноября 2006 года
CyberLord
2 / / 25.05.2006
Помогите хлопцы!!!! Проблемка в написаниии программы на Делфи. Функция ExitWindowsEx(EWX_SHUTDOWN, 0) которая по сути должна перезагружать комп, работает неправильно, просто завершая сеанс.
Как сделать перезагрузку?
ЗЫ. (EWX_FORCE,0), (EWX_REBOOT) тоже не помогают.
7
08 ноября 2006 года
@pixo $oft
3.4K / / 20.09.2006
Кстати,у меня такая же проблема.Только завершение сеанса у меня происходит,когда оба параметра Div 4=0.А чем тебя не прёт ExitWindows?Тем,что не во всех виндах она есть(кстати,странно,почему не во всех виндах есть эта замечтательная функция)?
3.2K
08 ноября 2006 года
Sania
186 / / 28.10.2006
У меня вроде все работает,
Вот:

Код:
function HandleShut(CMD:UINT):boolean;
const SE_SH_N='SeShutdownPrivilege';
var hT:THandle;
    tkp:TTokenPrivileges;
    tkpo:TTokenPrivileges;
    zero:DWORD;
begin
Result:=False;
if WinID=VER_PLATFORM_WIN32_NT  then
  begin
  zero:=0;
  if not OpenProcessToken(GetCurrentProcess,Acc,hT) then exit;
  if not LookupPrivilegeValue(nil,SE_SH_N,tkp.Privileges[0].Luid)then Exit;
  tkp.PrivilegeCount:=1;
  tkp.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;
  AdjustTokenPrivileges(hT,False,tkp,SizeOf(TTokenPrivileges),tkpo,zero);
  if Boolean(GetLastError) then Exit;
  End;
Result:=ExitWindowsEx(CMD,0);
end;

function ExShutDown(Force:boolean=true):boolean;
Begin
if Force Then Result:=HandleShut(EWX_SHUTDOWN or EWX_FORCE) else Result:=HandleShut(EWX_SHUTDOWN);
End;
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог