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

Вниз

Приостановка завершения Windows   Найти похожие ветки 

 
Lagrima_JN ©   (2006-06-20 12:45) [0]

Здравствуйте.
Подскажите пожалуйста, как с помощью API функций приостановить завершение работы windows, и затем (в зависимости от каких либо условий), либо продолжить выключение, либо его отменить.
Спасибо.


 
Dmitrij_K   (2006-06-20 12:58) [1]

Первое что приходит на ум WM_QUERYENDSESSION


 
Lagrima_JN ©   (2006-06-20 13:11) [2]

Пробовал

procedure TfrmMain.WMQueryEndSession(var Msg: TWMQueryEndSession);
begin
 if MessageDlg("Продолжить выключение?",
               mtConfirmation,
               [mbYes,mbNo], 0) = mrNo then
   Msg.Result := 0
 else
   Msg.Result := 1;
end;

все равно выключается.


 
Lagrima_JN ©   (2006-06-20 13:17) [3]

Вернее наоборот

procedure TfrmMain.WMQueryEndSession(var Msg: TWMQueryEndSession);
begin
if MessageDlg("Продолжить выключение?",
              mtConfirmation,
              [mbYes,mbNo], 0) = mrYes then
  Msg.Result := 0
else
  Msg.Result := 1;
end;

но сути это не меняет, и при нажатии на No и на Yes компьютер выключается.


 
ZeroDivide ©   (2006-06-20 16:22) [4]

Никак.

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


 
ZeroDivide ©   (2006-06-20 16:25) [5]

Как:

Написать перехватчик вызова API функции ExitWindowsEx!


 
Дмитрий Белькевич ©   (2006-06-21 02:17) [6]

>далеко не первым
ну и пусть - главное, его висеть останеться, остальные пускай сами о себе заботяться, если им нужно.


 
Германн ©   (2006-06-21 02:35) [7]


> Дмитрий Белькевич ©   (21.06.06 02:17) [6]
>
> >далеко не первым
> ну и пусть - главное, его висеть останеться, остальные пускай
> сами о себе заботяться, если им нужно.


Так то оно так, но
>  либо продолжить выключение, либо его отменить.
- первое либо будет чувствовать себя прекрасно, но второе - увы. :-(
То бишь нет способа вернуться в то же самое состояние, которое было перед тем, когда кто-то/что-то инициализировало процесс завершения Windows. А именно так я понял смысл "отмены завершения Windows".


 
Дмитрий Белькевич ©   (2006-06-22 01:58) [8]

Отмена завершения win, как я понимаю - это не дать ей выключиться, и прибить работающее (выполняющее что-то критичное) приложение.


 
Германн ©   (2006-06-22 03:19) [9]


> Отмена завершения win, как я понимаю - это не дать ей выключиться,
>  и прибить работающее (выполняющее что-то критичное) приложение.
>

А дальше что? Имхо, многое уже завершено/прибито.
Ну да. Можно поиграть в "стандартную игрушку".
А смысл?



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

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

Наверх




Память: 0.49 MB
Время: 0.079 c
11-1137399364
savva
2006-01-16 11:16
2006.11.05
У кого есть оболочка для UPX от Gandalf - UGH ??


3-1157625300
tytus
2006-09-07 14:35
2006.11.05
Как получить привилегии поьзователя (допустим на SELECT).


15-1160661814
Один из
2006-10-12 18:03
2006.11.05
Возможно ли заработать на встраиваемой рекламе?


11-1137545458
-=Mike=-
2006-01-18 03:50
2006.11.05
Обработка исключений


9-1138042872
Gnobobel
2006-01-23 22:01
2006.11.05
Окрашивание ч/б спрайта в DelphiX