专栏首页帮你学MatLabMATLAB调用Python操作键鼠

MATLAB调用Python操作键鼠

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

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

本文分享自微信公众号 - 帮你学MatLab(MatLab_helper),作者:伏毅

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-02-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 《Experiment with MATLAB》读书笔记(四)

    读书笔记(四) 这是第四部分数组与矩阵 将代码复制到m文件即可运行 函数部分需新建m文件保存 %% 向量与矩阵 x = [2; 4] % ...

    万木逢春
  • 《Experiment with MATLAB》读书笔记(九)

    读书笔记(九) %% 复数的极坐标形式 z = 3 + 4i r = abs(z) %极径 phi = angle(z) %幅角 ...

    万木逢春
  • MATLAB智能算法30个案例分析(3-1)

    遗传算法部分 ? clc clear close all %% 加载神经网络的训练样本 测试样本每列一个样本 输入P 输出T %样本数据就是前面问题描述中列...

    万木逢春
  • 词向量综述

    词向量综述 one-hot by neighbor 基于全文档的词向量 基于window的词向量 SVD Skip-Gram 结构 输入输出 学习算法 优化角度...

    用户1147754
  • 华云数据收购超融合厂商Maxta,开创科技并购先河

    一家中国的云计算厂商并购了一家美国领先的超融合厂商,这在当前的大环境下,感觉让人难以置信。

    大数据在线
  • 湖南大学第十四届ACM程序设计新生杯 F. Find the AFei Numbers(数位dp)

    题目链接:https://ac.nowcoder.com/acm/contest/338/F

    Ch_Zaqdt
  • 在安装Python时报错

    首先下载tar包 地址  http://www.python.org/ftp/python

    用户2398817
  • 中国移动互联网的商业化,已走到哪个位置?有哪些模式?

    移动互联网发展已经5年多。但纯粹靠移动互联网产品寻找到商业模式,进而上市,或者一年内PRE-IPO的公司,寥寥无几。 本篇文章谈中国移动互联网现在摸索出来的商业...

    罗超频道
  • 手机QQ里的注册那些事儿

    腾讯ISUX
  • 教你用大数据做年终总结,提升逼格!

    一份好的年终总结可以回忆过往,继往开来,痛改前非;可以减轻没有完成前年设立之目标的内疚感;更可以成为给予自己新的一年可以重新做人的假象。可谓是居家旅行、自我...

    CDA数据分析师

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动