скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Выключить или перезагрузить компьютер




Меломана, алкоголика и программера спросили, что бы те делали, если бы они вдруг проснулись в 80-м году... Меломан пошел бы спасать Джона Леннона. Алкоголик бы упился дешевой водки. А программер бы повесился... Почему? А что, опять за ЕС садиться?

Выключить монитор - это классно, но можно сделать ещё круче - программно завершить работу компьютера. Выглядеть это будет примерно так, с использованием различных режимов выключения:


ExitWindowsEx(EWX_LOGOFF or ewx_force,0);

завершает работу всех запущенных в системе процессов, сохраняя данные приложения, вызвавшего эту функцию


ExitWindowsEx(EWX_SHUTDOWN or ewx_force,0);

останавливает работу системы в безопасный момент времени. Все буферы очищаются с сохранением данных на диске, все процессы останавливаются


ExitWindowsEx(EWX_REBOOT or ewx_force,0);

перезагрузка системы


ExitWindowsEx(EWX_FORCE or ewx_force,0);

завершает работу всех запущенных в системе приложений, не посылая им сообщения WM_QUERYENDSESSION и WM_ENDSESSIO. Это может вызвать потерю не сохраненных данных


ExitWindowsEx(EWX_POWEROFF or ewx_force,0);

завершает работу компьютера с выключением питания, если система поддерживает автоуправление питанием


ExitWindowsEx(EWX_FORCEIFHUNG or ewx_force,0);

завершает работу всех запущенных в системе приложений если система висит

Ещё вариант перезагрузки:


mov  al,0F0h  
out  64h,al






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook