概述
相信大家平时或多或少总会碰到这类情况
做了100次测试,要给100个测试结果文件重新命名
![30cdbf031ffb334ca4d3c2a92cda2483.gif](https://file2.kaopuke.com:8081/files_image/20230526/30cdbf031ffb334ca4d3c2a92cda2483.gif)
做了100张数据分析图,要在这100张图的右下角注明“某某实验室”的字样护
![915e7cb2124afc018c37f3273bba1d0e.gif](https://file2.kaopuke.com:8081/files_image/20230526/915e7cb2124afc018c37f3273bba1d0e.gif)
发现了一个论文资源网站,想要下载其中自己需要的100份论文
类似的例子还有非常多,比如每天都要登录没有密码保存功能的软件,每天导出DOORS需求管理的状态,每天上传更新项目进展
有些情况可以直接通过MATLAB交互的方式进行批量操作,但不可避免的是,仍然需要花时间写脚本
有些情况就连写脚本的机会都没有,因为很多软件并没有提供接口来实现MATLAB交互
就我了解的,大多数朋友碰到这些情况,一方面可能因为代码能力较弱,另一方面也懒得花时间琢磨代码,通常都是自己徒手完成的
其实大家完全可以换一个角度看问题,没必要钻牛角尖非要实现MATLAB与软件接口的交互
回到最原始的逻辑,可以考虑用MATLAB模拟鼠标和键盘对需要处理的问题批量操作
比如,用MATLAB模拟鼠标键盘操作,对文件名进行批量修改
![06f29298b470f7881bde7610790ba08a.gif](https://file2.kaopuke.com:8081/files_image/20230526/06f29298b470f7881bde7610790ba08a.gif)
同样,每张图片中对重复性操作,也可以通过鼠标键盘的模拟实现批量修改
![f41a500f759ccb294765f4bbad540c6a.gif](https://file2.kaopuke.com:8081/files_image/20230526/f41a500f759ccb294765f4bbad540c6a.gif)
一定有朋友会说,MATLAB模拟鼠标键盘,还不是要自己撸脚本?
作为一个MATLAB GUI开发博主,本着“用生产力创造生产力”的原则,我花了两周的时间,给大家写了一个MATLAB版按键精灵
因为这个功能和HaoTemplate(薅模版)有着相同的理念,都是用GUI工具生成一键操作的代码,于是我把这个功能集成到HaoTemplate里面,叫作“鼠键模拟” 功能
今天我们就来聊一聊HaoTemplate鼠键模拟都有哪些有意思的细节
先介绍一下工具里的几个基础按钮都是怎么使用的,然后再聊一聊如何在生成的代码基础上进行功能拓展
01. 鼠标模拟
聊到MATLAB鼠标模拟的话题,第一个会想到的问题是,如何把鼠标移动到目标位置
在HaoTemplate上点击“鼠标移动”按钮,然后把鼠标移动到目标位置,2秒之后,代码区就会生成这次鼠标移动到操作
![72881c69b8bd501f780e019231c07cfc.gif](https://file2.kaopuke.com:8081/files_image/20230526/72881c69b8bd501f780e019231c07cfc.gif)
在鼠标移动到目标位置之后,大家可以根据自己下一步需要的操作选择按钮,比如左键点击,代码区就会生成相应的代码,右键点击类似
![0e597669d49cd4f6014c7dc4b5fdf841.gif](https://file2.kaopuke.com:8081/files_image/20230526/0e597669d49cd4f6014c7dc4b5fdf841.gif)
02. 键盘模拟
在键盘模拟部分,主要分为两个功能,分别是字符串的输入,和快捷键的模拟
字符串的输入,比如模拟密码框输入密码,发微博模拟内容输入等
![6001f162c5962044b99571f36137c1e5.gif](https://file2.kaopuke.com:8081/files_image/20230526/6001f162c5962044b99571f36137c1e5.gif)
这部分功能,如果大家在试用功能之后会发现,我处理的方式并不是真的去模拟键盘,而是使用里剪切板clipboard的复制粘贴功能
这么处理的原因是,模拟键盘用的是vb的sendkey功能,英文字符串是没有问题的,但是中文字符串就没办法实现
然后我就只能曲线救国,试了几种方法,发现还是剪切板的方式最可靠
而快捷键模拟功能,比如大家经常使用的Ctrl+C复制,Alt+F4关闭窗口,Ctrl+B粗体等等,就是通过vb的sendkey实现的
![2ffe6a8d2acb0a50e4ec1f0acefc2807.gif](https://file2.kaopuke.com:8081/files_image/20230526/2ffe6a8d2acb0a50e4ec1f0acefc2807.gif)
快捷键录入的功能,大家别看只是一个小小的窗口,当时花了我一整天,琢磨比较了很多方式,最终才确定了这种形式,细节上非常有意思,以后有机会的话,可以在B站做一期相关的视频
截止目前,HaoTemplate的几个基础按钮功能都介绍完了,大家可以点击“生成代码”,获取生成的m文件,点击运行就能模拟刚刚录入的操作了
03. 代码拓展
相信大家刚开始试用这个工具的时候,或许会有不少疑问,就我预见的几种可能的问题,我先作为解答
100个文件改名,要模拟100次鼠标移动?
肯定是不提倡模拟100次鼠标移动的,有这时间,干嘛不自己直接改掉
可以定位前2个文件的位置,看一下两个文件鼠标位置之间的关系,比如竖直方向都是相差20,就可以定义一个1到100点for循环,对鼠标位置进行循环形式的改写
![49a144b8fa1f0a8c9de0f27f48c5197c.gif](https://file2.kaopuke.com:8081/files_image/20230526/49a144b8fa1f0a8c9de0f27f48c5197c.gif)
如何模拟用鼠标选取一段话?
如果大家仔细研究“左键点击”生成的代码的话,就会发现,左键点击是由两个动作命令组成的,mousePress鼠标按下和mouseRelease鼠标释放
那么,联想自己操作的逻辑,在一段话前面按下鼠标,移动到一段话的末尾,释放鼠标
整个过程就可以这么操作,鼠标移动,左键点击,删除mouseRelease命令,鼠标移动,左键点击,删除mousePress
大家可以在生成代码之后运行试一下,是否达到自己需要的功能
![179878204fe4a82bb7c3372a8e2859c9.gif](https://file2.kaopuke.com:8081/files_image/20230526/179878204fe4a82bb7c3372a8e2859c9.gif)
鼠标操作太快,窗口还没出现,就执行到下一步了
从代码里大家可以看到,每一步操作,都会做0.2秒的pause处理,如果有个别操作太快,大家可以在相应步骤种对pause的时间值进行修改
![a9b0651ed50e9b8f216b7951dbb50c4f.png](https://file2.kaopuke.com:8081/files_image/20230526/a9b0651ed50e9b8f216b7951dbb50c4f.png)
目前能想到的问题暂时只有这3个,鼠键模拟的功能还是第一版,正如大家看到的,工具制作比较匆忙,无论是界面设计,还是快捷键,目前还都难以令人满意
不过,这个工具未来还是会继续更新的,当然离不开大家更多更好的使用建议,如果有任何的使用建议,欢迎在评论区给我留言
写这个工具的时候,我想到最多的是一个同行的留言,也是汽车系统工程师,他说,每天总有开不完的会,光顾着开会,哪还有时间干活,最后没办法只能加班
希望HaoTemplate这个工具可以在一定程度上缓解大家的工作压力,不被重复性任务所困扰
接下来聊一下如何获取这个工具
薅模版(HaoTemplate)工具下载链接:
链接:https://pan.baidu.com/s/105ZjD0_aLY7we_aMvnrF1w
密码:nwmn
最后
以上就是不安八宝粥为你收集整理的matlab中结束脚本运行_如何让MATLAB控制你的鼠标和键盘的全部内容,希望文章能够帮你解决matlab中结束脚本运行_如何让MATLAB控制你的鼠标和键盘所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复