0

MATLAB で特定のキーボード キーを自動的に押す方法はありますか? インターネット接続が理由もなく切断されます。インターネット接続の状態を定期的にチェックするスクリプトを MATLAB で作成したいと考えています。接続が切断された場合、プログラムは自動的に接続を実行します。接続を自動的に実行するスクリプトを MATLAB で作成したいと考えています (最初の図)。次に、プログラムは自動的に Enter キーを押します (最初の図の「接続」ボタン)。この後、2 番目のウィンドウが表示されます (2 番目の写真)。2 番目のウィンドウで [接続] ボタンをクリックすると、インターネットに接続されます。これが私のスクリプトです:

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

最初の写真: http://i.stack.imgur.com/OEy6W.png

2番目の写真: http://i.stack.imgur.com/TPlEN.png

4

1 に答える 1

2

はい、文書化されていませんが、Matlab は java.awt.Robot を使用してそれを行うことができます。このトピックに関する文書化されていない Matlab の投稿を参照してください。

それはあなたのために仕事を容易にする非常に素晴らしい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
于 2013-10-01T22:05:17.373 に答える