Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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 -  обрабатывает все сообщения windows


if 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
14-1127327367
Игорь Шевченко
2005-09-21 22:29
2005.10.16
Снимаются ли сейчас в России художественные фильмы для детей ?


2-1126641667
keal
2005-09-14 00:01
2005.10.16
Как сделать сервер по типу icq?


4-1124183268
volser
2005-08-16 13:07
2005.10.16
Изменение рабочего стола


1-1126647870
saNat
2005-09-14 01:44
2005.10.16
Сообщение ОС при обращении к недоступному диску


2-1126982646
ArtemESC
2005-09-17 22:44
2005.10.16
Как считать данные из оперативной памяти....





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский