в самом простом случае можно послать сообщение окну вашей программы через SendMessage.
если нужно что-нибудь пофункциональнее, то советую посмотреть в сторону .NET remoting (под VB 2008 я понял именно VB.NET)
ЗЫ. Насколько я знаю, то можно подписаться на событие добавления записи в таблицу MS SQL. Хотя для MySql такое врятле возможно
в самом простом случае можно послать сообщение окну вашей программы через SendMessage.
если нужно что-нибудь пофункциональнее, то советую посмотреть в сторону .NET remoting (под VB 2008 я понял именно VB.NET)
Да, VB.NET
Можно немного подробнее про SendMessage? если это WinApi, то какие могут быть проблемы, как корректно написать обращение?
Например, дескриптор окна программы уникален и меняется при её перезапуске? и тд.
Уже спасибо за идею!, просто раньше не сталкивался, хочется сделать сразу и без граблей.
.net remoting трогать не очень хочется, так как текущая архитектура поставки данных для программы не рассматривается как окончательная - жду MQL5 или буду рассматривать других поставщиков котировок с открытым API. Хочется иметь одну единственную работающую среду, не набор кусков.
в самом простом случае можно послать сообщение окну вашей программы через SendMessage.
если нужно что-нибудь пофункциональнее, то советую посмотреть в сторону .NET remoting (под VB 2008 я понял именно VB.NET)
ЗЫ. Насколько я знаю, то можно подписаться на событие добавления записи в таблицу MS SQL. Хотя для MySql такое врятле возможно
Вроде раскопал, спасибо огромное за подсказку!
Ищу, пробую, пока нет.
За пример кода буду дико благодарен!
Как получить класс окна программы для использования функции FindWindowA??
Помощь все еще нужна и сильно.
На данный момент получается обратиться из МТ к целевому окну и что-то с ним сделать.
Проблема в том, чтобы последнее "узнало", что с ним что-то сделали.
Написал тест: скрипт МТ меняет заголовок программы, написанной на .NET, при этом обработчик программы Форма_TextChanged не срабатывает...( при тестах из самой программы всё ОК )
Как все-таки всё это добороть? Повторюсь, .net программе нужно всего лишь отправить некоторый аналог event'а, по кторому в ней обработчик этого event'а запустится.
вот тестовый скрипт
#include <WinUser32.mqh>
int start()
{
int wDesc = FindWindowA( "WindowsForms10.Window.8.app.0.378734a", "Form" );
Alert( wDesc );
SetWindowTextA( wDesc, "test" );
return(0);
}
Какое сообщение отправить через SendMessageA и как его принять из .net?
я совсем не настолько знаю программирование, прошу разъяснения ((((((((
Попробовал так - не работает. Не знаю, как это писать в .net (.
<SecurityPermission(SecurityAction.LinkDemand, Flags:=SecurityPermissionFlag.UnmanagedCode)> _
Private Sub frmTst_TextChanged( ByVal sender As Object, ByVal e As System.EventArgs) Handles Me .TextChanged
Всё, заработало.
Спасибо огромное еще раз!
сделали через обработчик события Form.TextChanged ?
и кстати
#include <WinUser32.mqh> string null; int start() { int wDesc = FindWindowA(null, "Form"); Alert( wDesc ); SetWindowTextA( wDesc, "test" ); return(0); }Класс окна "WindowsForms10.Window.8.app.0.378734a" будет меняться при перезапуске
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день.
Извиняюсь, если недоюзал поиск.
Задача выглядит следующим образом:
- эксперт МТ периодически складывает котировки в ( локальную ) базу MySQL.
- на том же компе работает приложение ( если важно, оно написано на VB 2008 ), которое эти котировки обсчитывает.
- как сразу после очередного обновления базы "проинформировать" об этом приложение - не важно, из МТ или MySQL?
Спасибо,
Сергей.