Hi,
I am creating a GUI where the user is to input parameters, MATLAB then creates an input file (exp.in) that is to be read into an exe. Once the cfd computations have completed, I would like the exe to close itself (if it is successful). I have the following created using similar queries by others however do not know how to go about passing the exe an input file.
proc = System.Diagnostics.Process(); proc.StartInfo.FileName = 'P:\path...cfd.exe';%proc.StartInfo.Arguments = 'P:\path...exp.in';
proc.StartInfo.UseShellExecute = false;proc.StartInfo.RedirectStandardInput = true;proc.Start();StreamWriter = proc.StandardInput; sIn.AutoFlush = true; sIn.write("dir P:\path...exp.in") sIn.write("exit") sIn.Close() if isempty(proc) error('Failed to launch process');endwhile true if proc.HasExited fprintf('\nProcess exited with status %d\n', proc.ExitCode); break end fprintf('.'); pause(1.0);end
Is there a way to pass on an input file for the exe to use. I have tried to use arguments but it doesn't work. Research suggests controlling process input via streamwriter.
I can use the system command to do so but then don't know how to close the exe once it finishes (have used taskkill to no avail; it closes before the process finishes).
Thanks in advance!
Best Answer