Не сталкивался, но сделал бы так. Постоянно работает виндоус приложение, которое каждые N миллисекунд выясняет наличие сигнальных файлов в файловых каталогах нужных терминалов, при появлении сигнала на запуск читает его (а записал его советник) и генерирует нужный bat файл в файловом каталоге терминала или где нужно, затирает сигнальный файл (его пишет bat файл) с сообщением о завершении работы bat файла и запускает bat на выполнение без ожидания завершения. Сигнальный файл завершения работы bat файла пусть читает советник.
Сложно, но каждый компонент работает на нормальном для него уровне. Советник умеет работать с файлами, и хватит с него, никаких dll с функциями, обычно выполняемыми ОС.
Не сталкивался, но сделал бы так. Постоянно работает виндоус приложение, которое каждые N миллисекунд выясняет наличие сигнальных файлов в файловых каталогах нужных терминалов, при появлении сигнала на запуск читает его (а записал его советник) и генерирует нужный bat файл в файловом каталоге терминала или где нужно, затирает сигнальный файл (его пишет bat файл) с сообщением о завершении работы bat файла и запускает bat на выполнение без ожидания завершения. Сигнальный файл завершения работы bat файла пусть читает советник.
Сложно, но каждый компонент работает на нормальном для него уровне. Советник умеет работать с файлами, и хватит с него, никаких dll с функциями, обычно выполняемыми ОС.
А чем отличается ShellExecuteW от ShellExecuteа я сделал вот так но что то не заработало
#import "shell32.dll"
int ShellExecuteA(int hwnd, string lpOperation, string lpFile,string lpParameters,string lpDirectory,int nShowCmd);
void OnTick()
{ ShellExecuteA(CHART_WINDOW_HANDLE,"open","D:\cursor.bat", NULL,NULL,1);
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования