借助Java实现Windows操作MATLAB调用Java操作键盘鼠标不需要另行安装其他程序,不过现在Python语言风头正劲,运用Python也可以直接m文件中新建Python对象完成各种操作。
这里使用的Python对win32的对接实现是pywin32。因为手动先安装Python再使用pip安装pywin32是很劝退的,所以这里推荐安装Anaconda,它是一个开源的Python发行版本,其包含了需要的所有模块。
bing搜索anaconda或者打开官网https://www.anaconda.com
下载操作系统对应的安装包,然后双击安装就好、如果是刚刚接触python,那就在安装中点击加入path环境变量;如果熟悉python虚拟环境或者很快上手anaconda的用户界面操作也可以自行配置。
安装完成后再MATLAB命令行输入
如果像上图一样空白说明MATLAB没找到系统安装的python,需要手动设置python执行路径
然后一直到卸载MATLAB或者anaconda之前就都可以使用python本身以及各式各样的包了、比如这里的pywin32包,还有注意的是数据类型需要转变
首先是移动鼠标位置
function setMouse(x,y)
%x为到屏幕左边距离
%y为到屏幕顶部距离
py.win32api.SetCursorPos(int32([x,y]))
end
接着是鼠标点击
左键单击
function leftClick
py.win32api.mouse_event(py.win32con.MOUSEEVENTF_LEFTDOWN, int32(0), int32(0), int32(0), int32(0))
py.win32api.mouse_event(py.win32con.MOUSEEVENTF_LEFTUP, int32(0), int32(0), int32(0), int32(0))
end
%MOUSEEVENTF_LEFTUP是Python中定义的常数
右键单击
function rightClick
py.win32api.mouse_event(py.win32con.MOUSEEVENTF_RIGHTDOWN, int32(0), int32(0), int32(0), int32(0))
py.win32api.mouse_event(py.win32con.MOUSEEVENTF_RIGHTUP, int32(0), int32(0), int32(0), int32(0))
end
左右键就是定义的常数不一样
最后就是键盘操作了
function key(index)
py.win32api.keybd_event(int32(index), int32(0), int32(0), int32(0))
end
本来也可以用那个定义的常数的,但是按键太多,每一个键写一个函数不合适、在函数内部加判断条件更不合适,所以直接输入按键对应的键码值,使用时只要查一下键码值就可以