Используйте timer
вместо pause
с Java Robot.Используйте input
для нажатия клавиш в командном окне.
input
возвращает пустую матрицу, если нажата Enter до нажатия чего-либо еще.Приведенный ниже код ожидает ввода пользователя в течение 5 секунд, и если пользователь ничего не вводит, робот Java нажмет Enter , и код перейдет к следующей итерации.Если функция input
возвращает что-то, то она сохраняет номер итерации, прежде чем перейти к следующей итерации.
t = timer('StartDelay', 5, 'TimerFcn', @PressEnterButton);
ind=1;
for k=1:100
fid=loadfigure(fnames(i).name); %as it is from your code
start(t); %start the 5sec timer
if ~isempty(input('Wait for button press','s'));
iterNum{ind}= k; ind=ind+1;
end
stop(t); %stop the timer object
end
delete(t); %delete the timer object
function PressEnterButton(HObj, event)
%Function to press Enter button
import java.awt.*;
import java.awt.event.*;
r=Robot;
r.keyPress(KeyEvent.VK_ENTER);
r.keyRelease(KeyEvent.VK_ENTER);
end
PS: Приведенный выше код сохраняет номер итерации при нажатии буквенно-цифровых и / или специальных символов .