Syntax for calling AutoIt compiled Script (.exe) using ShellExecuteW in MT4 EA
- There is no such executeable at "D:<TAB>stScript.exe" Character Constants - MQL4 Documentation
- The second argument must be a string.
- The argument you are passing to the script is "value1 value2 value3" not "234 678 888"
- Unable to run batch file - MQL4 forum
Thanks for the reply. Tried the below commands suggested in the post by moving the .exe to folder C:\\Users\\user1\\AppData\\Roaming\\MetaQuotes\\Terminal\\C01E4824CB1310748719A488ACBDC5BA\\MQL4\\Files.
Script 2 & 3 works without the arguments. But I am required to pass the arguments to this script.
Script 1 & 4 with cmd.exe , it just opens up an cmd window ( with path C:\Program Files (x86)\MAK4 Trader ) and does nothing . Am I missing anything here??
1. ShellExecuteW(0,"Open","cmd.exe","/C C:\\Users\\user1\\AppData\\Roaming\\MetaQuotes\\Terminal\\C01E4824CB1310748719A488ACBDC5BA\\MQL4\\Files\\tstScript.exe 45 67 88",NULL,5); 2. ShellExecuteW(0,"Open","C:\\Users\\user1\\AppData\\Roaming\\MetaQuotes\\Terminal\\C01E4824CB1310748719A488ACBDC5BA\\MQL4\\Files\\tstScript.exe 45 67 88",NULL,NULL,5); 3. ShellExecuteW(0,"Open","tstScript.exe 5 6 7 ",NULL,terminalDataPath,5); 4. ShellExecuteW(0,"Open","cmd.exe","/C tstScript.exe 4 5 6",terminalDataPath,5);
Is this syntax a valid one, to pass dynamic arguments ?
Here .exe is AutoIt compiled script .
string value1 =234 string value2 = 678 string value3 = 888 ShellExecuteW(0,"Open","cmd.exe","/C tstScript.exe"+value1+" "+value2 +" "+value3,terminalDataPath,5);
Using the below syntax to send values from EA to AutoIt compiled script as below.
double value1 =234
double value2 = 678
double value3 = 888
ShellExecuteW(0,0,"D:\tstScript.exe","value1 value2 value3","",1);
Getting below error
Access violation read to 0x000000EA in 'C:\Users\MetaQuotes\Terminal\C01E4824CB1310748719A488ACBDC5BA\MQL4\Libraries\shell32.dll'.
The below command works when invoked from Command prompt
tstScript.exe 23 45 33