Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.01.21;
Скачать: [xml.tar.bz2];

Вниз

Сообщение о закрытии от Винды.   Найти похожие ветки 

 
vain ©   (2006-12-28 14:32) [0]

Проблема такая. Полжил, я, значит иконку в трей.

NID.uCallbackMessage:= WM_TRAYICON;
NID.Wnd:= AllocateHWnd(TrayHandler);
NID.uFlags:= NID.uFlags or NIF_MESSAGE;
Shell_NotifyIcon(NIM_ADD, @NID);

Где
procedure TrayHandler (var Message: TMessage);
begin
If Message.Msg= WM_TRAYICON
  Then begin
          ...
          end;
end;

Тогда TrayHandler ловит сообщения не только от иконки в трее, насколько я понимаю. Дело в том, что при выходе из системы, программа не закрывается и выход отменяется. Как быть? Подскажите, пжл.


 
Ыеууз   (2006-12-28 15:04) [1]

На закрытие формы убивайте иконку


 
Elen ©   (2006-12-28 15:16) [2]


>  при выходе из системы, программа не закрывается и выход
> отменяется

А что такого твоя прога делает, что может мешать винде выходить?


 
vain ©   (2006-12-28 15:16) [3]


> На закрытие формы убивайте иконку

Это я и так делаю.
Мне кажется, что все сообщения кроме WM_TRAYICON игнорируются, в том числе, и сообщение от винды, которое она посылает при выходе. Так? Как бороться?


 
vain ©   (2006-12-28 15:18) [4]


> А что такого твоя прога делает, что может мешать винде выходить?

Вроде, ничего. А что такое может делать прога, чтобы мешать винде выйти?


 
Elen ©   (2006-12-28 15:29) [5]


> Как бороться?

Ловить другие сообщения. Например WM_QUERYENDSESSION


 
vain ©   (2006-12-28 15:34) [6]


> Elen ©   (28.12.06 15:29) [5]
>
>
> > Как бороться?
>
> Ловить другие сообщения. Например WM_QUERYENDSESSION
>


Нет, только это.

procedure TrayHandler (var Message: TMessage);
begin
If Message.Msg= WM_TRAYICON
 Then begin
         ...
         end;
end;


...Хм, а попробую-ка я WM_QUERYENDSESSION поймать.


 
vain ©   (2006-12-28 15:40) [7]

Поймал, блин...
Поставил на него Application.Terminate, но тепеь при выходе закрываются все приложения, включая мое... и все. А чтобы выйти, надо еще раз выйти.


 
Elen ©   (2006-12-28 15:44) [8]


> тепеь при выходе закрываются все приложения, включая мое.
> .. и все

Странный случай. А result:=true стоит?


 
vain ©   (2006-12-28 15:45) [9]


>
> Странный случай. А result:=true стоит?
>

Где?


 
Elen ©   (2006-12-28 15:53) [10]


> Где?

В обработчике  WM_QUERYENDSESSION. Можеш еще словить  WM_ENDSESSION, кстати. А вообще почитай SDK там написано про это.


 
vain ©   (2006-12-28 15:58) [11]


> Elen ©   (28.12.06 15:53) [10]
>
>
> > Где?
>
> В обработчике  WM_QUERYENDSESSION. Можеш еще словить  WM_ENDSESSION,
>  кстати. А вообще почитай SDK там написано про это.

Благодарствую величественно - пошел читать.


 
Alarm ©   (2006-12-28 16:07) [12]

>vain ©   (28.12.06 14:32)
Иногда следует пользоваться поиском и просматривать сообщения на форуме:(
Хотя бы недавние
http://delphimaster.net/view/2-1167137066/


 
vain ©   (2006-12-28 16:08) [13]


> Alarm ©   (28.12.06 16:07) [12]
>
> >vain ©   (28.12.06 14:32)
> Иногда следует пользоваться поиском и просматривать сообщения
> на форуме:(
> Хотя бы недавние
> http://delphimaster.net/view/2-1167137066/

Тоже спасибо, похоже, то, что надо.



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

Форум: "Начинающим";
Текущий архив: 2007.01.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.045 c
2-1167314120
Sn
2006-12-28 16:55
2007.01.21
Подсчет слов совпадающих с данным в текстовом файле


1-1164451128
umbra
2006-11-25 13:38
2007.01.21
насколько приемлем такой конструктор?


3-1162227059
rar
2006-10-30 19:50
2007.01.21
Занята БД Access


2-1167760801
bolt
2007-01-02 21:00
2007.01.21
Как узнать на какой ITEM в TreeView щелкаем?


15-1167174176
Andy BitOff
2006-12-27 02:02
2007.01.21
Или я туплю, или одно из двух





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский