Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Reboot [D6, XP]


Konnor ©   (2006-05-23 09:17:00) 

Доброго дня... Как в Windows XPдобиться перзагрузки или завершения работы компьютера???? Функция ExitWindowsвыкидывает на экран выбора пользователей..


Konnor   (2006-05-23 10:38:00) [1]

Все!!!. Сам разобрался... Efir спасибо, что натолкнул на нужные мысли.... Если у кого-то были подобные проблемы, ниже привожу код выключения машины (полное) под WinXP
var
 ph: THandle;
 tp, prevst: TTokenPrivileges;
 rl: DWORD;
begin
 OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or
   TOKEN_QUERY, ph);
 LookupPrivilegeValue(nil, 'SeShutdownPrivilege', tp.Privileges[0].Luid);
 tp.PrivilegeCount := 1;
 tp.Privileges[0].Attributes := 2;
 AdjustTokenPrivileges(ph, FALSE, tp, SizeOf(prevst), prevst, rl);
 ExitWindowsEx(EWX_SHUTDOWN or EWX_POWEROFF, 0);
end;


Шмель   (2006-05-23 10:24:00) [2]


> Konnor


Зло какое-то хотите сотворить???...


Konnor   (2006-05-23 10:07:00) [3]

ExitWindowsEx(EWX_FORCE,0);- Не работает... эффект тот же... :( Может есть какие нибудь другие способы???


Efir   (2006-05-23 09:38:00) [4]

Воспользуйся Api функцией

ExitWindowsEx(uFlags:UINT, 0);

uFlags может быть:
EWX_Forse - Форсировать выключение компьютера, выключат резко. Если были открыты какие-то приложения, можно потерять данные.
EWX_LOGOFF - менить пользователя.
EWX_POWERFULL- выключить ком и его систему питания.
EWX_REBOOT - перезагрузить.
EWX_SHUTDOWN - выключить комп, но не выключать систему питания.


Наверх

Титульная страница Поиск, карта сайта Написать письмо