Форум: "WinAPI";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];
ВнизОшибка при завершении работы ОС Найти похожие ветки
← →
ronyn (2005-08-16 00:13) [0]Свою программу я минимизирую в трей. Оттуда нажав в Popup "Выход" , появляется Application.MessageBox(мол, хотите действительно выйти?).
А когда я перезагружаю комп, моя программа завершается критическим путем. Что делать? Заранее благодарен.
← →
Eraser © (2005-08-16 00:15) [1]ronyn (16.08.05 00:13)
Обрабатывать сообщение WM_ENDSESSION.
← →
alpet © (2005-08-16 00:16) [2]Программа отрабатывает сообщения WM_QUERYENDSESSION, WM_CLOSE, WM_QUIT?
← →
ronyn (2005-08-16 00:19) [3]А как это будет выглядеть в полном виде. В каком событии, какие параметры?
← →
Eraser © (2005-08-16 00:22) [4]ronyn (16.08.05 00:19) [3]
В msdn.com точно написано.
← →
Piter © (2005-08-16 01:04) [5]Ты запостил вопрос в конференцию по WinApi.
Соответственно, я думаю, что программа у тебя на WinApi.
Если у тебя программа на WinApi, и ты не знаешь как обработать какое бы то ни было сообщение... то я даже не знаю что подумать
← →
afanasic (2005-08-16 10:44) [6]Удалено модератором
← →
tesseract © (2005-08-16 16:52) [7]Application.onMessage - обрабатывает все сообщения windows.
лови все WM_QUERYENDSESSION и при нём не задавай дурных вопросов о необходимости выхода из программы - а то завешат насильно.
← →
Piter © (2005-08-16 16:59) [8]tesseract © (16.08.05 16:52) [7]
Application.onMessage - обрабатывает все сообщения windowsif PeekMessage(Msg, 0, 0, 0, PM_REMOVE) then
begin
Result := True;
if Msg.Message <> WM_QUIT then
begin
Handled := False;
if Assigned(FOnMessage) then FOnMessage(Msg, Handled);
......
Не все. Как раз WM_QUIT не обработает.
← →
Leonid Troyanovsky © (2005-08-16 17:02) [9]
> Piter © (16.08.05 16:59) [8]
> Не все. Как раз WM_QUIT не обработает.
А он и не нужен. Достаточно WM_*ENDSESSION.
--
Regards, LVT.
← →
Piter © (2005-08-16 17:13) [10]Leonid Troyanovsky © (16.08.05 17:02) [9]
А он и не нужен
а я и не говорю, что нужен :)
Я только прокомментировал фразу:
tesseract © (16.08.05 16:52) [7]
Application.onMessage - обрабатывает все сообщения windows
← →
Игорь Шевченко © (2005-08-16 17:14) [11]
> Application.onMessage - обрабатывает все сообщения windows.
>
Далеко не все :)
← →
Leonid Troyanovsky © (2005-08-16 17:18) [12]
> Piter © (16.08.05 17:13) [10]
> Leonid Troyanovsky © (16.08.05 17:02) [9]
> А он и не нужен
> а я и не говорю, что нужен :)
Млин, запощенные.
Sorry.
--
Regards, LVT.
← →
Piter © (2005-08-16 17:37) [13]Игорь Шевченко © (16.08.05 17:14) [11]
Далеко не все :)
ну я думаю имеются в виду основному потоку и его окнам :)
А тут, кроме WM_QUIT, OnMesage все ловит...
← →
Игорь Шевченко © (2005-08-16 18:41) [14]Piter © (16.08.05 17:37) [13]
[12] :)
← →
Piter © (2005-08-16 18:47) [15]Игорь Шевченко © (16.08.05 18:41) [14]
а-а-а. Вы про то, что сообщения от SendMessage не будут доходить? :)
Ну это и так как бы понятно :)
← →
tesseract © (2005-08-17 12:08) [16]>>Не все. Как раз WM_QUIT не обработает.
Конечно не обработает, WM_QUIT обрабатывается TApllication лично и только после этого производится срабатывание OnMessage.
← →
Piter © (2005-08-17 14:20) [17]tesseract © (17.08.05 12:08) [16]
Да, спасибо, мы с этим уже разобрались :)
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.04 c