Событие закрытия окна Lister

Только для тех, кто пишет плагины под Total Commander. Обмен опытом, решение проблем.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Ответить
Аватара пользователя
Maximus
Сообщения: 927
Зарегистрирован: Чт апр 07, 2005 10:51
Откуда: Украина, Кировоградская обл., г. Знаменка
Контактная информация:

Событие закрытия окна Lister

Сообщение Maximus »

Хотелось бы узнать, посылает ли Lister сообщение Total Commander`у, когда его окно закрывают. И, если посылает, то какое?
Исследовал ли кто-то данный вопрос?
Я поставил (или что там с ним делают) хук на окно ТС и выяснил, что при закрытии окна Lister`а из сообщений>=WM_USER (и даже>=WM_APP) Total Commander получает сообщение с кодом 0xB021.
Оно ли это? И что вообще скажете по этому поводу...
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

ListCloseWindow is called when a user closes lister, or loads a different file.
Почему же, ё-моё, ты нигде не пишешь "ё"?
Аватара пользователя
Maximus
Сообщения: 927
Зарегистрирован: Чт апр 07, 2005 10:51
Откуда: Украина, Кировоградская обл., г. Знаменка
Контактная информация:

Сообщение Maximus »

А теперь мне интересно, что у меня было вместо мозгов вчера вечером и сегодня с утра :)
Но зато я уже успел сделать всё через задницу и оно, надо сказать, работает :) Придется переделывать по нормальному...
Аватара пользователя
Maximus
Сообщения: 927
Зарегистрирован: Чт апр 07, 2005 10:51
Откуда: Украина, Кировоградская обл., г. Знаменка
Контактная информация:

Сообщение Maximus »

Хотя с другой стороны написано (выделил жирным):
ListCloseWindow is called when a user closes lister, or loads a different file.
Что значит loads a different file? Это когда переход к следующему/предыдущему файлу?

И вообще :oops: Я забыл, что мне это не подходит, потому что плагин очень сильно специфический (AppLoader). И потому метод с хуком WH_GETMESSAGE и отлавливанием сообщения 0xB021 совсем не через задницу, а очень даже правильный в моём случае.
VadiMGP
Сообщения: 1625
Зарегистрирован: Ср мар 21, 2007 20:58

Сообщение VadiMGP »

а очень даже правильный в моём случае.
Знаешь, мне тут пришлось тоже заняться похожим вопросом и я пришел к выводу, что это все-таки опасная затея - полагаться на мессаги из диапазона WM_APP - 0xBFFF. Ковырялся я в TC7 RС2 и никакого 0xB021 не увидел вообще. Зато увидел 0xB000 и 0xB001. Иногда посылается одно, иногда другое.
Так что, если уж ставишь хук, то надежнее отлавливать WM_DESTROY (а еще лучше WM_NCDESTROY) на окно листера.
Ответить