Событие закрытия окна Lister
Select messages from
# through # FAQ
[/[Print]\]

Total Commander -> Написание плагинов для Total Commander

#1: Событие закрытия окна Lister Author: MaximusLocation: Украина, Кировоградская обл., г. Знаменка PostPosted: Wed Mar 07, 2007 12:35
    —
Хотелось бы узнать, посылает ли Lister сообщение Total Commander`у, когда его окно закрывают. И, если посылает, то какое?
Исследовал ли кто-то данный вопрос?
Я поставил (или что там с ним делают) хук на окно ТС и выяснил, что при закрытии окна Lister`а из сообщений>=WM_USER (и даже>=WM_APP) Total Commander получает сообщение с кодом 0xB021.
Оно ли это? И что вообще скажете по этому поводу...

#2:  Author: CaptainFlintLocation: Москва PostPosted: Wed Mar 07, 2007 13:10
    —
Quote:
ListCloseWindow is called when a user closes lister, or loads a different file.

#3:  Author: MaximusLocation: Украина, Кировоградская обл., г. Знаменка PostPosted: Wed Mar 07, 2007 13:28
    —
А теперь мне интересно, что у меня было вместо мозгов вчера вечером и сегодня с утра Smile
Но зато я уже успел сделать всё через задницу и оно, надо сказать, работает Smile Придется переделывать по нормальному...

#4:  Author: MaximusLocation: Украина, Кировоградская обл., г. Знаменка PostPosted: Wed Mar 07, 2007 13:45
    —
Хотя с другой стороны написано (выделил жирным):
Quote:
ListCloseWindow is called when a user closes lister, or loads a different file.
Что значит loads a different file? Это когда переход к следующему/предыдущему файлу?

И вообще Embarassed Я забыл, что мне это не подходит, потому что плагин очень сильно специфический (AppLoader). И потому метод с хуком WH_GETMESSAGE и отлавливанием сообщения 0xB021 совсем не через задницу, а очень даже правильный в моём случае.

#5:  Author: VadiMGP PostPosted: Fri Apr 20, 2007 23:15
    —
Quote:
а очень даже правильный в моём случае.
Знаешь, мне тут пришлось тоже заняться похожим вопросом и я пришел к выводу, что это все-таки опасная затея - полагаться на мессаги из диапазона WM_APP - 0xBFFF. Ковырялся я в TC7 RС2 и никакого 0xB021 не увидел вообще. Зато увидел 0xB000 и 0xB001. Иногда посылается одно, иногда другое.
Так что, если уж ставишь хук, то надежнее отлавливать WM_DESTROY (а еще лучше WM_NCDESTROY) на окно листера.



Total Commander -> Написание плагинов для Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Page 1 of 1

Powered by phpBB © 2001, 2005 phpBB Group