我是靠谱客的博主 不安八宝粥,最近开发中收集的这篇文章主要介绍matlab中结束脚本运行_如何让MATLAB控制你的鼠标和键盘,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

相信大家平时或多或少总会碰到这类情况

做了100次测试,要给100个测试结果文件重新命名

30cdbf031ffb334ca4d3c2a92cda2483.gif

做了100张数据分析图,要在这100张图的右下角注明“某某实验室”的字样护

915e7cb2124afc018c37f3273bba1d0e.gif

发现了一个论文资源网站,想要下载其中自己需要的100份论文

类似的例子还有非常多,比如每天都要登录没有密码保存功能的软件,每天导出DOORS需求管理的状态,每天上传更新项目进展

有些情况可以直接通过MATLAB交互的方式进行批量操作,但不可避免的是,仍然需要花时间写脚本

有些情况就连写脚本的机会都没有,因为很多软件并没有提供接口来实现MATLAB交互

就我了解的,大多数朋友碰到这些情况,一方面可能因为代码能力较弱,另一方面也懒得花时间琢磨代码,通常都是自己徒手完成的

其实大家完全可以换一个角度看问题,没必要钻牛角尖非要实现MATLAB与软件接口的交互

回到最原始的逻辑,可以考虑用MATLAB模拟鼠标和键盘对需要处理的问题批量操作

比如,用MATLAB模拟鼠标键盘操作,对文件名进行批量修改

06f29298b470f7881bde7610790ba08a.gif

同样,每张图片中对重复性操作,也可以通过鼠标键盘的模拟实现批量修改

f41a500f759ccb294765f4bbad540c6a.gif

一定有朋友会说,MATLAB模拟鼠标键盘,还不是要自己撸脚本?

作为一个MATLAB GUI开发博主,本着“用生产力创造生产力”的原则,我花了两周的时间,给大家写了一个MATLAB版按键精灵

因为这个功能和HaoTemplate(薅模版)有着相同的理念,都是用GUI工具生成一键操作的代码,于是我把这个功能集成到HaoTemplate里面,叫作“鼠键模拟” 功能

今天我们就来聊一聊HaoTemplate鼠键模拟都有哪些有意思的细节

先介绍一下工具里的几个基础按钮都是怎么使用的,然后再聊一聊如何在生成的代码基础上进行功能拓展

01. 鼠标模拟

聊到MATLAB鼠标模拟的话题,第一个会想到的问题是,如何把鼠标移动到目标位置

在HaoTemplate上点击“鼠标移动”按钮,然后把鼠标移动到目标位置,2秒之后,代码区就会生成这次鼠标移动到操作

72881c69b8bd501f780e019231c07cfc.gif

在鼠标移动到目标位置之后,大家可以根据自己下一步需要的操作选择按钮,比如左键点击,代码区就会生成相应的代码,右键点击类似

0e597669d49cd4f6014c7dc4b5fdf841.gif

02. 键盘模拟

在键盘模拟部分,主要分为两个功能,分别是字符串的输入,和快捷键的模拟

字符串的输入,比如模拟密码框输入密码,发微博模拟内容输入等

6001f162c5962044b99571f36137c1e5.gif

这部分功能,如果大家在试用功能之后会发现,我处理的方式并不是真的去模拟键盘,而是使用里剪切板clipboard的复制粘贴功能

这么处理的原因是,模拟键盘用的是vb的sendkey功能,英文字符串是没有问题的,但是中文字符串就没办法实现

然后我就只能曲线救国,试了几种方法,发现还是剪切板的方式最可靠

而快捷键模拟功能,比如大家经常使用的Ctrl+C复制,Alt+F4关闭窗口,Ctrl+B粗体等等,就是通过vb的sendkey实现的

2ffe6a8d2acb0a50e4ec1f0acefc2807.gif

快捷键录入的功能,大家别看只是一个小小的窗口,当时花了我一整天,琢磨比较了很多方式,最终才确定了这种形式,细节上非常有意思,以后有机会的话,可以在B站做一期相关的视频

截止目前,HaoTemplate的几个基础按钮功能都介绍完了,大家可以点击“生成代码”,获取生成的m文件,点击运行就能模拟刚刚录入的操作了

03. 代码拓展

相信大家刚开始试用这个工具的时候,或许会有不少疑问,就我预见的几种可能的问题,我先作为解答

100个文件改名,要模拟100次鼠标移动?

肯定是不提倡模拟100次鼠标移动的,有这时间,干嘛不自己直接改掉

可以定位前2个文件的位置,看一下两个文件鼠标位置之间的关系,比如竖直方向都是相差20,就可以定义一个1到100点for循环,对鼠标位置进行循环形式的改写

49a144b8fa1f0a8c9de0f27f48c5197c.gif

如何模拟用鼠标选取一段话?

如果大家仔细研究“左键点击”生成的代码的话,就会发现,左键点击是由两个动作命令组成的,mousePress鼠标按下和mouseRelease鼠标释放

那么,联想自己操作的逻辑,在一段话前面按下鼠标,移动到一段话的末尾,释放鼠标

整个过程就可以这么操作,鼠标移动,左键点击,删除mouseRelease命令,鼠标移动,左键点击,删除mousePress

大家可以在生成代码之后运行试一下,是否达到自己需要的功能

179878204fe4a82bb7c3372a8e2859c9.gif

鼠标操作太快,窗口还没出现,就执行到下一步了

从代码里大家可以看到,每一步操作,都会做0.2秒的pause处理,如果有个别操作太快,大家可以在相应步骤种对pause的时间值进行修改

a9b0651ed50e9b8f216b7951dbb50c4f.png

目前能想到的问题暂时只有这3个,鼠键模拟的功能还是第一版,正如大家看到的,工具制作比较匆忙,无论是界面设计,还是快捷键,目前还都难以令人满意

不过,这个工具未来还是会继续更新的,当然离不开大家更多更好的使用建议,如果有任何的使用建议,欢迎在评论区给我留言

写这个工具的时候,我想到最多的是一个同行的留言,也是汽车系统工程师,他说,每天总有开不完的会,光顾着开会,哪还有时间干活,最后没办法只能加班

希望HaoTemplate这个工具可以在一定程度上缓解大家的工作压力,不被重复性任务所困扰

接下来聊一下如何获取这个工具

薅模版(HaoTemplate)工具下载链接:

链接:https://pan.baidu.com/s/105ZjD0_aLY7we_aMvnrF1w

密码:nwmn

最后

以上就是不安八宝粥为你收集整理的matlab中结束脚本运行_如何让MATLAB控制你的鼠标和键盘的全部内容,希望文章能够帮你解决matlab中结束脚本运行_如何让MATLAB控制你的鼠标和键盘所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部