Передача системного сообщения в эксперт?

 
Существует ли возможность запустить в коде эксперта обработчик сообщения (имеется ввиду Windows Messages) навешанного на определенный график? Интересует как зная хендл окна передать ему сообщение, по которому будет произведен запуск какой-либо функции. Или как вариант просто выставить значение переменной, а там дальше уже эксперт при следующем тике его словит?

То что из эксперта/индикатора можно высылать сообщения другим окнам - это понятно глядя на WinUser32.mqh, а вот как сделать перехват события - неясно.
 
К сожалению, перехват событий окна из эксперта невозможен. Эксперты ничего не перехватывают, их активирует только приход ценового тика.
 
Для этой цели подошла бы обработка внешнего файла.
Однако для оперативности необходимо дать возможность работать с файлами, расположенными не только в предопределённой директории, но и на виртуальном диске, например.
Тким образом было бы легко "сочленить" всё что угодно.
 
К сожалению, перехват событий окна из эксперта невозможен.
Хорошо, а если приаттачить DLL к эксперту? Внутри DLL message можно перехватить?
 
Можно оконным субклассингом, с помощью WinAPI-функции EnumWindows (lpEnumFunc, lParam), где первый аргумент - адрес пользовательской функции обратного вызова (что надо сделать с окном), второй - передаваемый параметр, и ей подобных. При таком подходе требуется крайняя осторожность, чтоб не грохнуть систему.
 
Еще хуки есть ... :))
 
Еще хуки есть ... :))

Перехватить - не проблема, хендл окна штатно можно получить и передать в DLL. А вот при снятии хука на отключении эксперта могут быть проблемы. Мы сами не пробовали. Теоретически все должно работать, если не сработает, то мы постараемся поправить у себя (если это возможно).

Если DLL перехватывает чужое и глубокое, то эксперт должен быть очень чистым и ни в коем случае не должен уходить в длительную спячку. Иначе эксперт на снятии может быть принудительно терминирован из-за таймаута, что повлечет за собой пропуск корректного завершения. А затем и креш.
Причина обращения: