有没有办法让MATLAB自动按下特定的键盘键? 我的互联网连接没有任何理由断开连接。我想在MATLAB中创建一个脚本,定期检查互联网连接状态,如果连接断开,程序将自动运行连接。 我想在MATLAB中编写一个自动运行连接的脚本(第一张图片)。然后程序应自动按Enter键(第一张图片中的“连接”按钮)。在此之后,将出现第二个窗口(第二张图片)。在第二个窗口中,如果单击“连接”按钮,则连接将连接到Internet。 这是我的剧本:
function [] = AutoConn()
tic ;
cTime = 2 ;
k = 0 ;
A = 0 ;
while(1)
nTime = toc ;
tic ;
C = isnett ;
if C == 1
A = 1 ;
else
A = 0 ;
system('C:\...\Connection.pbk');
{....}
end
clc;
k = k+1;
k
A
pause(cTime) ;
end
function flag = isnett()
% This function returns a 1 if basic internet connectivity
% is present and returns a zero if no internet connectivity
% is detected.
% define the URL for US Naval Observatory Time page
url =java.net.URL('http://tycho.usno.navy.mil/cgi-bin/timer.pl');
% read the URL
try
link = openStream(url);
parse = java.io.InputStreamReader(link);
snip = java.io.BufferedReader(parse);
catch
flag = 0;
return
end
if ~isempty(snip)
flag = 1;
else
flag = 0;
end
答案 0 :(得分:2)
是的,尽管没有记录,但Matlab可以通过使用java.awt.Robot see Undocumented Matlab post on this topic来做到这一点。
它提到了一个非常好的FEX,可以帮助你完成工作:inputEmu。
使用inputEmu您需要做的就是:
inputemu('key_normal','\ENTER');
注意:您需要测试AWT是否可用:
error(javachk('awt'))
或
if usejava('awt')
myFrame = java.awt.Frame;
else
disp('Unable to open a Java Frame.');
end