Самый простой способ отправки сообщений между программами Matlab, VB6 и VB.NET

Мы модернизируем набор процедур сбора и анализа данных из программ VB6 до смеси программ VB.NET, VB6 и Matlab. Мы хотим, чтобы система была модульной (отдельные файлы EXE), чтобы мы могли легко создавать специализированные автономные программы анализа без необходимости постоянно обновлять одно массивное приложение. Мы использовали MBInterProcess для отправки сообщений между EXE-файлами, когда все программы были написаны на VB6, и это отлично сработало для нас (например, чтобы EXE-файл сбора данных отправлял последнее имя файла в отдельную программу отображения данных). К сожалению, этот ActiveX нельзя использовать в Matlab или VB.NET для получения сообщений. Нам интересно, какова самая простая система передачи строковых сообщений (каналы, зарегистрированные сообщения и т. Д.), Которую мы могли бы принять. Сейчас мы просто проводим опрос, чтобы узнать, записан ли новый файл в определенную папку, что не может быть лучшим решением. Наше идеальное решение не потребовало бы больших затрат времени на изучение нюансов Windows (мы - биологи, а не программисты, работающие полный рабочий день) и работало бы как в WinXP, так и в 64-битных версиях Windows.

В ответ на запросы мы обернули весь сеанс Matlab в программу VB6, которая имеет элемент управления ActiveX MBInterProcess. Это работает, но не является хорошим решением для нас, так как оно, вероятно, навсегда заблокирует нас в WinXP (и, конечно, не позволит нам использовать 64-битную версию Matlab). Последняя версия Matlab (2009a) может напрямую обращаться к функциям .NET, поэтому мы предполагаем, что одним из решений может быть использование библиотеки .NET для реализации каналов (или чего-то подобного) между программами. Мы хотели бы воссоздать элегантно простой синтаксис MBXterProcess ActiveX и получить фрагмент кода, который прослушивает сообщение с именем Windows верхнего уровня этой программы, а затем вызывает конкретный m-файл Matlab или функцию VB.NET с строковые данные (например, имя файла) в качестве аргумента.

Ответы на вопрос(2)

Ваш ответ на вопрос