matlab调用q外部exe文件,Matlab GUI调用外部程序生成exe,DOS窗口输入问题
本帖最后由 gouliang 于 2019-12-23 09:37 編輯
主程序:
clc;clear
import java.awt.Robot
import java.awt.event.*
keys = Robot;
keys.setAutoDelay(100);
ExeFileName='goudan.exe';%'goudan.exe'就是你調用的外部exe,該exe會用dos窗口進行交互。
for k=1:5
M=[rand(1,10),k*100];
string=num2str(k);
Param1=[' ',string];
Cmd=[ExeFileName??'&'];%
%Cmd=['start ' ExeFileName??'&'];
%加‘start’確實可以自動關閉調用程序的cmd窗口,但cmd根窗口并不會關閉。
[status, results]=system(Cmd,'-echo');
keys.keyPress(java.awt.event.KeyEvent.VK_4 )
keys.keyRelease(java.awt.event.KeyEvent.VK_4 )
keys.keyPress(java.awt.event.KeyEvent.VK_ENTER )
keys.keyRelease(java.awt.event.KeyEvent.VK_ENTER )
csvwrite([num2str(k*100),'.csv'],M)
%%退出cmd窗口
keys.keyPress(java.awt.event.KeyEvent.VK_E)
keys.keyRelease(java.awt.event.KeyEvent.VK_E)
keys.keyPress(java.awt.event.KeyEvent.VK_X)
keys.keyRelease(java.awt.event.KeyEvent.VK_X)
keys.keyPress(java.awt.event.KeyEvent.VK_I)
keys.keyRelease(java.awt.event.KeyEvent.VK_I)
keys.keyPress(java.awt.event.KeyEvent.VK_T)
keys.keyRelease(java.awt.event.KeyEvent.VK_T)
keys.keyPress(java.awt.event.KeyEvent.VK_ENTER )
keys.keyRelease(java.awt.event.KeyEvent.VK_ENTER )
% close(Cmd)
end
disp('done')
調用的測試用goudan.exe的matlab源碼(mcc編譯成exe即可):
function [x,y]=fun(z);
z=input('input z \n');
if ischar(z)
z=str2num(z);%由于參數傳遞都是字符形式,這里必須將其轉為數值型
else
z=z;
end
y=z^2;
end
你品一品我對于matlab這個問題的解決辦法。
總結
以上是生活随笔為你收集整理的matlab调用q外部exe文件,Matlab GUI调用外部程序生成exe,DOS窗口输入问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php替换文件中的数据库,批量替换php
- 下一篇: php oauth api,PHP实现人