Скачать MetaTrader 5

запуск батника из советника

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
sava
46
sava  
Добрый день! может кто сталкивался как можно из советника запустить батфайл?
Vladimir
404
Vladimir  

Не сталкивался, но сделал бы так. Постоянно работает виндоус приложение, которое каждые N миллисекунд выясняет наличие сигнальных файлов в файловых каталогах нужных терминалов, при появлении сигнала на запуск читает его (а записал его советник) и генерирует нужный bat файл в файловом каталоге терминала или где нужно, затирает сигнальный файл  (его пишет bat файл) с сообщением о завершении работы bat файла и запускает bat на выполнение без ожидания завершения. Сигнальный файл завершения работы bat файла пусть читает советник.

Сложно, но каждый компонент работает на нормальном для него уровне. Советник умеет работать с файлами, и хватит с него, никаких dll с функциями, обычно выполняемыми ОС.

Алексей Тарабанов
7324
Алексей Тарабанов  
Vlad143:

Не сталкивался, но сделал бы так. Постоянно работает виндоус приложение, которое каждые N миллисекунд выясняет наличие сигнальных файлов в файловых каталогах нужных терминалов, при появлении сигнала на запуск читает его (а записал его советник) и генерирует нужный bat файл в файловом каталоге терминала или где нужно, затирает сигнальный файл  (его пишет bat файл) с сообщением о завершении работы bat файла и запускает bat на выполнение без ожидания завершения. Сигнальный файл завершения работы bat файла пусть читает советник.

Сложно, но каждый компонент работает на нормальном для него уровне. Советник умеет работать с файлами, и хватит с него, никаких dll с функциями, обычно выполняемыми ОС.

Суть в передаче управления, имхенько. Я бы поинтересовался у Рустама, нельзя ли какое-нибудь сообщение послать куда-нибудь... 
Dmitry Fedoseev
45390
Dmitry Fedoseev  
Рустам
3597
Рустам  
бат файл записанный другой прогой через винапи - пожалуйста, если еще и самому писать скриптом, то тоже через винапи, потому что терминал не даст создать файл с исполняемым расширением.
Комбинатор
16288
Комбинатор  
ShellExecuteW с помощью WinAPI
sava
46
sava  

А чем отличается 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);

sava
46
sava  
помогите с параметрами ни как не получается  , просто нужно запустить батник
Комбинатор
16288
Комбинатор  
ShellExecuteW(NULL, "open", "D:\\cursor.bat", NULL, NULL, 1)
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий