Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.06;
Скачать: CL | DM;

Вниз

rxTray не дает Windows завершить работу   Найти похожие ветки 

 
ppcat   (2002-11-06 10:20) [0]

И раньше с этим сталкивался, без rxTray. Помещаем иконку в tray с помощью Windows API и не можем завершить работу, пока не выгрузим это приложение. Но в The Bat эта проблема решена. Мастера знают КАК?

Очень надеюсь.


 
Song ©   (2002-11-06 10:24) [1]

WM_QUERYENDSESSION/ENDSESSION


 
ppcat   (2002-11-06 11:00) [2]

Это я уже смотрел и понял, что при получении WM_QUERYENDSESSION приложение отвечает нулем и на этом Windows опрос прекращает. Соответственно до WM_ENDSESSION дело не доходит. Пробовал в обработчике WM_QUERYENDSESSION сделать message.result:= 1; - не помогает. Что же здесь можно сделать?


 
Song ©   (2002-11-06 11:03) [3]

Если действия, выполняемые по завершению работы, небольшие, можно ограничиться сообщением WM_ENDSESSION


 
ppcat   (2002-11-06 11:13) [4]

Действия-то небольшие - вынуть иконку из трея. Но я это пытался делать в обработчиках WM_ENDSESSION и WM_QUERYENDSESSION и приложение пытался там завершить (и Close и Application.Terminate). Все, чего добился - приложение закрывается, но Windows не вырубается, только со 2-го раза, когда приложения уже нет. В хелпе и MSDN пишут, что приложение вырубать в этих обработчиках не нужно, и так пробовал - шиш.


 
Song ©   (2002-11-06 11:48) [5]

protected
Procedure IsWindowsShutDown(Var Msg:TMessage); WM_ENDSESSION;
...

Procedure TForm1.IsWindowsShutDown(Var Msg:TMessage);
Begin
inherited;
IF Msg.WParam=1 then
Begin
//Убираем иконку из трея
MainForm.Close; // выгружаем приложение
End;
End;

У меня так работает и в W9x и в NT4.0 и в Win XP. w2k - не пробовал, нету её просто.



Страницы: 1 вся ветка

Текущий архив: 2003.01.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
1-15138
hp1100
2002-12-20 20:08
2003.01.06
Загрузка ассоциированных файлов в уже запущенную программу


7-15330
Олег_В
2002-07-11 00:57
2003.01.06
Как удалить EXEшник и на его место записать другой?


3-14946
Matolch
2002-12-14 13:33
2003.01.06
Как заставить FreeReport использовать кириллицу


8-15164
Aleksey Rykov
2002-09-13 01:48
2003.01.06
DirectDraw в оконном режиме


7-15334
Xman
2002-10-28 15:44
2003.01.06
Как можно опредилит ОС