1.3 RPA与按键精灵的区别

这里讨论的按键精灵是针对个人PC版本的,移动端的按键精灵在这里不做详细展开。早在2014年或者更早的时候,风靡大江南北的按键精灵工具开始流行于各大公司及各职业玩家的圈子里。对于公司职员而言,按键精灵的主要作用是帮助他们点击如E-Learning课程中的“下一步”按钮,又或者用它自动处理表格、文档,或自动收发邮件等。总而言之,任何“有点烦”的电脑操作都可以由按键精灵来完成。对于职业玩家来说,按键精灵可以实现自动打怪、自动补血、自动说话等一系列看似非玩家控制角色(Non Player Character,NPC)的活动。

NPC的概念最早起源于单机版游戏,后来逐渐延伸到整个游戏领域。举个最简单的例子,在游戏中买卖物品时,需要点击的那个商人,或是做任务时需要必须与之对话的那个人物就是NPC。

乍一看按键精灵不就是RPA吗?二者有何不同?或者说按键精灵是不是RPA的始祖呢?下面详细介绍。

工作原理

按键精灵的核心程序是VBS,它可以通过添加一些简单的if else或do while的逻辑判断,模拟键盘或鼠标的点击操作。按键精灵的点击操作是基于屏幕像素点位置的,而非反编译具体程序里面的一个特定的按钮或者图片。按键精灵模拟键盘、模拟鼠标的部分源码如下,从中可以比较清楚地看到按键精灵的工作原理。

模拟键盘:

模拟鼠标:

下面以市面上主流的RPA产品UiPath为例,讲解RPA的工作原理。UiPath是一款基于.NET开发平台,通过运用反编译Windows/Java句柄机制,以及OCR技术的流程自动化产品。它不仅有简单的逻辑判断,还嵌套了许多第三方平台的API,可以更好地满足市场上各种系统之间的数据传输或交互等操作。为了更深入地了解RPA的工作原理,下面添加一段UiPath自动化读取并写入notepad的操作。UiPath的可视化编程界面如图1-3所示。

图1-3

其源码如下所示: