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