使用依赖于用户的输入在matlab中调用exe文件

时间:2016-01-27 21:55:28

标签: matlab

我有一个.exe文件,想通过Matlab运行它。我知道我应该使用<p style=\"text-align: center;\">Looking<br />at Earth </p> !myfile.exe和/或system。但是,运行.exe文件后,它会要求输入:请输入输入文件的名称。

所以,问题是如何在我的.m文件中声明输入的名称?

1 个答案:

答案 0 :(得分:1)

使用java.awt.Robot类尝试以下方案。

r = java.awt.Robot;
system([myfile.exe ' &']); % dont forget to use the correct path if needed
pause(2) % allow some time for the computer to process
system([your_input_file_name ' &']);
r.keyPress (java.awt.event.KeyEvent.VK_ENTER); % press "enter" key
r.keyRelease (java.awt.event.KeyEvent.VK_ENTER); % release "enter" key

如果您使用SendWaitSendKeys在Windows中,则可以使用.net对象,例如:

NET.addAssembly('System.Windows.Forms'); % import the .NET assembly
sendkey = @(strkey) System.Windows.Forms.SendKeys.SendWait(strkey) ; %useful function for the next lines:
%% now let's get started
system('myfile.exe &') ;   
pause(2);
sendkey('your_input_file_name')
sendkey('{ENTER}'); % press ENTER

感谢Luis Mendo和Hoki告诉我所有关于此事的信息