Хотелось бы узнать, посылает ли Lister сообщение Total Commander`у, когда его окно закрывают. И, если посылает, то какое?
Исследовал ли кто-то данный вопрос?
Я поставил (или что там с ним делают) хук на окно ТС и выяснил, что при закрытии окна Lister`а из сообщений>=WM_USER (и даже>=WM_APP) Total Commander получает сообщение с кодом 0xB021.
Оно ли это? И что вообще скажете по этому поводу...
Событие закрытия окна Lister
Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik
- CaptainFlint
- Сообщения: 6239
- Зарегистрирован: Вт дек 14, 2004 22:34
- Контактная информация:
- Maximus
- Сообщения: 927
- Зарегистрирован: Чт апр 07, 2005 10:51
- Откуда: Украина, Кировоградская обл., г. Знаменка
- Контактная информация:
Хотя с другой стороны написано (выделил жирным):
И вообще
Я забыл, что мне это не подходит, потому что плагин очень сильно специфический (AppLoader). И потому метод с хуком WH_GETMESSAGE и отлавливанием сообщения 0xB021 совсем не через задницу, а очень даже правильный в моём случае.
Что значит loads a different file? Это когда переход к следующему/предыдущему файлу?ListCloseWindow is called when a user closes lister, or loads a different file.
И вообще
Знаешь, мне тут пришлось тоже заняться похожим вопросом и я пришел к выводу, что это все-таки опасная затея - полагаться на мессаги из диапазона WM_APP - 0xBFFF. Ковырялся я в TC7 RС2 и никакого 0xB021 не увидел вообще. Зато увидел 0xB000 и 0xB001. Иногда посылается одно, иногда другое.а очень даже правильный в моём случае.
Так что, если уж ставишь хук, то надежнее отлавливать WM_DESTROY (а еще лучше WM_NCDESTROY) на окно листера.