MATLAB调用Python操作键鼠

2019-04-30 18:10:26 浏览数 (1)

借助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

本来也可以用那个定义的常数的,但是按键太多,每一个键写一个函数不合适、在函数内部加判断条件更不合适,所以直接输入按键对应的键码值,使用时只要查一下键码值就可以

0 人点赞