Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.033 c
15-1161264635
Firefly
2006-10-19 17:30
2006.11.05
Apache и PHP на HP-UX


2-1161126729
Wolfheart
2006-10-18 03:12
2006.11.05
Assembler & Delphi


2-1161063939
svt
2006-10-17 09:45
2006.11.05
Мастера, подскажите как сделать так, чтобы


2-1161405365
Riply
2006-10-21 08:36
2006.11.05
Видимость св-ва для GetTypeData


15-1160834004
Kolan
2006-10-14 17:53
2006.11.05
Что лучьше виртуальный COM или DLL...




   Наверх