如何制作类似按键精灵的软件。

EVERMORE1991 2011-08-24 12:32:39
按键精灵的脚本都是保存在文本文件中,内容类似这样:
movemouse 100,500
LmouseClick

用vc自己制作类似的软件的话,从脚本文件中读取一行命令后该如何解析呢?
...全文
988 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ToperRay 2011-08-25
  • 打赏
  • 举报
回复
如何解析是你自己定义的。
通俗讲其实就是翻译规则。

从一种语言翻译成另一种语言。
这种语言就是你所要创造的脚本语言。

[Quote=引用楼主 kkreb 的回复:]
按键精灵的脚本都是保存在文本文件中,内容类似这样:
movemouse 100,500
LmouseClick

用vc自己制作类似的软件的话,从脚本文件中读取一行命令后该如何解析呢?
[/Quote]
Eleven 2011-08-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 kkreb 的回复:]
按键精灵的脚本都是保存在文本文件中,内容类似这样:
movemouse 100,500
LmouseClick

用vc自己制作类似的软件的话,从脚本文件中读取一行命令后该如何解析呢?
[/Quote]
你应该自己定义一套解析脚本的规则
以movemouse 100, 500来说,读取到这一条,就知道要调用mouse_event/SendInput, 点的坐标是CPoint(100, 500);了
hnzlk 2011-08-25
  • 打赏
  • 举报
回复
你在内存中有一个结构存储这些数据,程序启动后,你将这些数据读到读到你的结构中去,然后不就好办了吗?当然,你也不一定要用到它的办法,非要写文本文件,只要你觉得方便,数据库,ini,xml,MFC的序列化等等都行啊。
EVERMORE1991 2011-08-25
  • 打赏
  • 举报
回复
以mousemove 100,200为例,我能想到的方法是取到这一行后先找空格,然后取空格前的字符串,然后对比,如果是“mousemove”就取空格后面的字符串转换成数字就是坐标。
可是这样有点繁琐,有没有别的快捷的方法?
hnzlk 2011-08-25
  • 打赏
  • 举报
回复
这些都是你自己定义的,自己按照一定的格式存进文件,难道取出来不知道么?
EVERMORE1991 2011-08-25
  • 打赏
  • 举报
回复
我的意思是指令有很多种,比如movemouse 后面会跟着坐标,LmouseClick后面不跟坐标,具体该如何提取出指令是什么,坐标是什么?
hnzlk 2011-08-25
  • 打赏
  • 举报
回复
软件打开的时候就已经将文件读入内存,你还想如何高效?
EVERMORE1991 2011-08-25
  • 打赏
  • 举报
回复
能不能具体点。脚本中包括很多指令还有数字(比如鼠标坐标),怎样高效地提取指令?
buyong 2011-08-24
  • 打赏
  • 举报
回复
自定义协议吧。
比如发现movemouse,就移动鼠标。(用代码移动鼠标会不会?SendInput)
要作好挺难的吧。
作者hyb1996,源码Auto.js,一个主要由无障碍服务实现的不需要Root权限的类似按键精灵的自动操作软件,可以实现自动点击、滑动、输入文字、打开应用等。 同时有Sublime Text 插件可提供基础的在桌面开发的功能。 下载地址:酷安 Alpha版本:Releases 特性 简单易用的自动操作函数 悬浮窗录制和运行 更专业&强大的选择器API,提供对屏幕上的控件的寻找、遍历、获取信息、操作等。类似于Google的UI测试框架UiAutomator,您也可以把他当做移动版UI测试框架使用 采用JavaScript为脚本语言,并支持代码补全、变量重命名、代码格式化、查找替换等功能,可以作为一个JavaScript IDE使用 支持使用e4x编写界面,并可以将JavaScript打包为apk文件,您可以用它来开发小工具应用 支持使用Root权限以提供更强大的屏幕点击、滑动、录制功能和运行shell命令。录制录制可产生js文件或二进制文件,录制动作的回放比较流畅 提供截取屏幕、保存截图、图片找色等函数,可进行简单的游戏脚本制作;未来将加入找图功能 可作为Tasker插件使用,结合Tasker可胜任日常工作流 带有界面分析工具,类似Android Studio的LayoutInspector,可以分析界面层次和范围、获取界面上的控件信息 与脚本精灵、按键精灵软件的区别是: Auto.js主要以自动化、工作流为目标,更多地是方便日常生活工作,例如启动游戏时自动屏蔽通知、一键与特定联系人微信视频(知乎上出现过该问题,老人难以进行复杂的操作和子女进行微信视频)等 Auto.js兼容性更好。以坐标为基础的按键精灵、脚本精灵很容易出现分辨率问题,而以控件为基础的Auto.js则没有这个问题 Auto.js执行大部分任务不需要root权限。只有需要精确坐标点击、滑动的相关函数才需要root权限 尽管如此,Auto.js的大部分用户仍然是用来点赞、签到、刷游戏的:)

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧