Вниз
Скачать: 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.027 c
5-1142197877
AlexeyT
2006-03-13 00:11
2006.11.05
Реакция на клавиатуру


1-1159426778
AAdamov
2006-09-28 10:59
2006.11.05
Преобразование текста в тип


2-1161276226
Чародей
2006-10-19 20:43
2006.11.05
Потоки


15-1160848270
TUser
2006-10-14 21:51
2006.11.05
Преимущества альтернативных браузеров


2-1161504506
m-kirill-2003
2006-10-22 12:08
2006.11.05
Имя пользователя




   Наверх