How to open External Program by MATLAB?
41 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Rounak Saha Niloy
am 6 Okt. 2022
Kommentiert: Rounak Saha Niloy
am 10 Okt. 2022
I want to open an external program named Maxsurf Modeler using MATLAB.
Initilially, I was using system command to open the software as follows-
system('"C:\Program Files\Bentley\Offshore\MAXSURF CONNECT Edition V23\MaxsurfModeler64.exe"')
But the problem of this method is, the code executation does not proceed further unless the program is closed.
How can I open this software and continue the execution of susequent codes?
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 6 Okt. 2022
system('"C:\Program Files\Bentley\Offshore\MAXSURF CONNECT Edition V23\MaxsurfModeler64.exe" &');
That is, if you put an & at the end of your command, the MATLAB itself will detect that and cause the program to be run in the background.
I emphasized that it is MATLAB itself doing that because system() specifically documents that it will happen. The alternative would potentially be that MATLAB might have relied upon the system command shell's background-job facilities.
As you appear to be using MS Windows, an alternative approach would be to use System.Diagonstics.Process which is a .NET facility. See https://www.mathworks.com/matlabcentral/answers/583955-get-the-status-using-system-command-when-program-has-been-closed#answer_485480
3 Kommentare
Walter Roberson
am 7 Okt. 2022
If you use the & at the end of the system() command, then to close Maxsurf you will need to system() a taskkill command.
If you use something like
Exe_Process = System.Diagnostics.Process;
Exe_Process.StartInfo.Arguments = '-example arguments';
Exe_Process.StartInfo.FileName = 'C:\program.exe' % full file path
Exe_Process.Start();
then you could use
Exe_Process.Close();
I am not sure if you need to also
Exe_Process.Dispose();
afterwards.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu C Shared Library Integration finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!