Author Topic: Как запустить миранду, чтобы она сразу открыла окно плагина History++?  (Read 3854 times)

0 Members and 1 Guest are viewing this topic.


Offline dartraiden

Что понимается под окном плагина History++?

Окно истории какого-то контакта? Окно переписки с каким-то контактом, где журналом H++? Это таки две разные вещи...

Может быть, ваша проблема решается плагином Sessions.
 

Offline Mike33

  • Newbie
  • *
  • Posts: 8
Нужно открыть окно поиска во всей истории.
То, которое открывается из главного меню иконки в трее.
Например, знаю, что изменить состояние подключения или выйти из миранды можно послав главному окну сообщение WM_COMMAND с параметром ID_STATUS_ONLINE или ID_STATUS_OFFLINE.
А здесь непонятно что делать. Может быть есть какой-нибудь вариант через файл autoexec_*.ini или через параметры командной строки?
 

Offline dartraiden

autoexec_*.ini это импорт настроек в базу, он совсем о другом.

Actman или MirLua (и писать скрипт на Lua)
В актмане можно дернуть сервис History++/ShowGlobalSearch (MS_HPP_SHOWGLOBALSEARCH)

Я сделал так, оно работает, но при старте актман выплёвывает кучу ошибок, а единственный человек, способный отлаживать код на Pascal, не появлялся уже несколько лет, так что, вероятно, вам придётся осваивать язык Lua и пытаться воплотить это на MirLua (а если MirLua чего-то не умеет, то ждать, пока кто-нибудь это в нём реализует)
« Last Edit: 27 02 2021, 15:01:44 by dartraiden »
 
The following users thanked this post: Mike33

Offline Mike33

  • Newbie
  • *
  • Posts: 8
Спасибо!
А возможно как-то найти это идентификатор (наподобие ID_STATUS_ONLINE), чтобы обойтись без дополнительных плагинов?
Или есть какой-нибудь мануал по написанию плагинов, чтобы понять что там к чему, чтобы найти его самостоятельно?
 

Offline dartraiden

В смысле? Плагин H++ предоставляет ряд сервисов, которые могут быть дёрнуты другими плагинами.
Дёргать их, посылая окну списка контактов (который вы называете главным окном) сообщения, невозможно.

Главного окна у Миранды, по сути, вообще нет, есть окно списка контактов, окно сообщений, каждое из которых реализуется своим плагином.
« Last Edit: 27 02 2021, 15:12:15 by dartraiden »
 

Offline dartraiden

Например, знаю, что изменить состояние подключения или выйти из миранды можно послав главному окну сообщение WM_COMMAND с параметром ID_STATUS_ONLINE или ID_STATUS_OFFLINE.
   ghazan,  Today
[18:12]   потому что это контрол окна
­
   ghazan,  Today
[18:13]   а вот сервис h++ - не контрол
 

Offline Mike33

  • Newbie
  • *
  • Posts: 8
Погонял в отладчике.
Нашел, что идентификаторы для динамических пунктов меню начинаются с константы #define FIRSTCUSTOMMENUITEMID   30000 и зависят от набора плагинов.
Но при неизменном наборе плагинов идентификаторы постоянны.
Пока выкрутился так.