Форум: "WinAPI";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];
ВнизПриостановка завершения 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 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.051 c