MATLAB在plot之后得到图像figure窗体的句柄,可以操作figure修改尺寸以及各种参数。
在Windows系统中想要操作MATLAB之外的各种窗体就需要win32编程,如果使用mex技术将c/c++文件在MATLAB中编译就需要按照mex规范编写c/c++文件,而借助Java可以直接m文件中新建Java对象完成各种操作。
这里使用的Java对win32的对接实现是JNA,2018b版本的MATLAB在安装成功后自带了所需要的jar包,不像连接MySQL数据库那样还需要自己下载并添加Java支持包。
首先是移动鼠标位置
function setMouse(x,y)
%x为到屏幕左边距离
%y为到屏幕顶部距离
import java.awt.Robot;
mouse = Robot;
mouse.mouseMove(x,y);
end
接着是鼠标点击
左键单击
function leftClick
import java.awt.Robot;
import java.awt.event.*;
mouse = Robot;
mouse.mousePress(InputEvent.BUTTON1_MASK);
mouse.mouseRelease(InputEvent.BUTTON1_MASK);
%InputEvent.BUTTON1_MASK是Java中定义的常数
%就在java.awt.event.*的*里面
end
右键单击
function rightClick
import java.awt.Robot;
import java.awt.event.*;
mouse = Robot;
mouse.mousePress(InputEvent.BUTTON3_MASK);
mouse.mouseRelease(InputEvent.BUTTON3_MASK);
end
左右键就是那个*里面的常数不一样
最后就是键盘操作了
function key(index)
import java.awt.Robot;
robot = Robot;
robot.keyPress(index);
robot.keyRelease(index);
end
本来也可以用那个*里面的常数的,但是按键太多,每一个键写一个函数不合适、在函数内部加判断条件更不合适,所以直接输入按键对应的键码值,使用时只要查一下键码值就可以