Miranda NG Official Community Forum
Miranda NG русскоязычный форум => Разработка => Topic started by: Mike33 on 27 02 2021, 01:33:08
-
subj
-
Что понимается под окном плагина History++?
Окно истории какого-то контакта? Окно переписки с каким-то контактом, где журналом H++? Это таки две разные вещи...
Может быть, ваша проблема решается плагином Sessions.
-
Нужно открыть окно поиска во всей истории.
То, которое открывается из главного меню иконки в трее.
Например, знаю, что изменить состояние подключения или выйти из миранды можно послав главному окну сообщение WM_COMMAND с параметром ID_STATUS_ONLINE или ID_STATUS_OFFLINE.
А здесь непонятно что делать. Может быть есть какой-нибудь вариант через файл autoexec_*.ini или через параметры командной строки?
-
autoexec_*.ini это импорт настроек в базу, он совсем о другом.
Actman или MirLua (и писать скрипт на Lua)
В актмане можно дернуть сервис History++/ShowGlobalSearch (MS_HPP_SHOWGLOBALSEARCH)
Я сделал так, оно работает, но при старте актман выплёвывает кучу ошибок, а единственный человек, способный отлаживать код на Pascal, не появлялся уже несколько лет, так что, вероятно, вам придётся осваивать язык Lua и пытаться воплотить это на MirLua (а если MirLua чего-то не умеет, то ждать, пока кто-нибудь это в нём реализует)
-
Спасибо!
А возможно как-то найти это идентификатор (наподобие ID_STATUS_ONLINE), чтобы обойтись без дополнительных плагинов?
Или есть какой-нибудь мануал по написанию плагинов, чтобы понять что там к чему, чтобы найти его самостоятельно?
-
В смысле? Плагин H++ предоставляет ряд сервисов, которые могут быть дёрнуты другими плагинами.
Дёргать их, посылая окну списка контактов (который вы называете главным окном) сообщения, невозможно.
Главного окна у Миранды, по сути, вообще нет, есть окно списка контактов, окно сообщений, каждое из которых реализуется своим плагином.
-
Например, знаю, что изменить состояние подключения или выйти из миранды можно послав главному окну сообщение WM_COMMAND с параметром ID_STATUS_ONLINE или ID_STATUS_OFFLINE.
ghazan, Today
[18:12] потому что это контрол окна
ghazan, Today
[18:13] а вот сервис h++ - не контрол
-
Погонял в отладчике.
Нашел, что идентификаторы для динамических пунктов меню начинаются с константы #define FIRSTCUSTOMMENUITEMID 30000 и зависят от набора плагинов.
Но при неизменном наборе плагинов идентификаторы постоянны.
Пока выкрутился так.