一种基于模拟输入和图像分析的自动控制软件技术的制作方法

文档序号:6619237阅读:291来源:国知局
专利名称:一种基于模拟输入和图像分析的自动控制软件技术的制作方法
技术领域
本发明涉及一种基于模拟输入和图像分析的自动控制软件技术,具体说涉 及一种通过模拟鼠标输入、键盘输入结合计算机屏幕图像分析来实现自动控制 操作系统和其他软件的软件技术。
技术背景通常,我们使用电脑时都是通过人工控制鼠标和键盘来完成各项操作。但 是我们使用的软件往往没有可用的控制接口 ,无法用常规编程办法对这些软件 进行自动控制。而有时对这些软件的自动控制显得很有必要,例如大量重复性 工作,需要暂时离开,因运行时间过长而无耐心等待等等情况,这时,通过人 工操作的方式就存在很大的不足。对此,本发明提供了一种可行的解决方案。 发明内容本发明所解决的技术问题是提供一种通过模拟鼠标输入、键盘输入结合计 算机屏幕图像分析来自动控制操作系统和其他软件的软件技术,可以用于自动 化办公、软件操作自动演示和间接实现程序间的接口编程等。本发明的技术方案如下目前,很多编程语言都提供了应用程序接口函数(API)以及一些与键盘、 鼠标输入相关的方法,在这些函数或方法里提供了控制鼠标位置、鼠标事件以 及模拟键盘输入的的函数或方法。另外,还有一些函数或方法可以读取和控制 操作界面上各个窗体的位置,大小,以及控制窗体的最大化、最小化以及激活 等。利用这些函数和方法,结合对屏幕的图像分析可以完成对操作系统和其他 软件的自动控制。图像分析的作用在于判断系统或其他操作对象的当前状态、 获取欲操作对象的位置信息以及判断自动控制的操作结果是否与预期目标一致。其中,计算机屏幕图像可以通过读取内存中相应数据来获取,也可以通过 外接摄像设备来摄取。
具体实施方式
本发明可以采用多种编程语言来实现,下面用c朽吾言提供的函数和方法来 简单描述一下实现过程。 本发明优选实施例之一实现QQ自动登陆QQ是Tencent公司开发的一种用于网络聊天的软件,它的登陆界面一般包 括两个输入框和两个按钮。其中,两个输入框分别用于输入用户名和密码,两 个按钮分别用于确定输入和取消登陆。登陆程序运行时一般出现在屏幕正中位 置,两个输入框和两个按钮在登陆框中的位置是固定的。为了实现自动控制登陆的目的,首先要启动QQ程序, 一种办法如下 (1 )在已知程序文件所在位置时,通过调用API函数WinExe来启动程序。 (2 )然后通过设置等待延时或者通过计算机屏幕图像分析确定该程序已经 成功启动。(3 )这一步的目的是获取输入框和按钮的位置,可以采取的办法有三种 1〉获取计算机屏幕大小,然后获取程序的句柄,通过句柄调用API函数GetWindowRect获取窗体大小和窗体位置,由于两个输入框和两个按钮在登陆框中的位置是固定的,可以计算出两个输入框和两个按钮的位置。2〉通过API函数SetWindowPos设置窗体的位置到屏幕某一处,由于两个输入框和两个按钮在登陆框中的位置是固定的,可以计算出两个输入框和两个按钮的位置。3 〉直接通过计算机屏幕图像分析所需控制的输入框和按钮的位置(4 )控制鼠标移动到输入用户名的输入框位置,模拟鼠标左键单击事件设 置选中输入框,然后模拟键盘输入设定的用户名,同样的方法输入密码。 (5)通过计算机屏幕图像分析确认输入成功。(6 )控制鼠标移动到确定按钮的位置,通过模拟鼠标左键单击事件点击登陆。对于登陆框位置和两个输入框和两个按钮位置的确定通过图像分析的办法 来实现,这对于那些控件位置不确定的程序来说尤为重要。 本发明优选实施例之二 实现两个程序之间的数据交换假设有两个应用程序A和B,应用程序A需要利用应用程序B来进行一些计 算。但是应用程序B并没有提供一个可用的接口,只是提供了一个用户界面, 可以在此界面上输入已知参数,然后点击按钮开始计算。在这种情况下也可以 在应用程序A中采用优选实施例之一所述方法来实现对应用程序B的操作。本发明优选实施例之三可以编写一个完整的自动控制软件来实现对操作系统和其他软件的自动控 制。所述自动控制软件提供一个控制台程序,要实现丰富的功能,可以制作针 对各种常用软件的插件,在这些插件里定义了对这些软件的控制方法,并且可 以被所述控制台程序识别。在装载了这些插件之后,我们就可以在所述自动控 制软件中定义对相应软件的操作。
权利要求
1. 一种基于模拟输入和图像分析的自动控制软件技术,其特征在于,所述自动控制软件技术,通过模拟鼠标输入和键盘输入来实现自动控制操作系统和其他软件的功能。
2、 根据权利要求l所述的自动控制软件技术,通过读取内存中相应数据来 获取计算机屏幕图像,或者通过外接摄像设备来摄取计算机屏幕图像。来其特 征在于,通过对计算机屏幕图像的分析来获取操作对象的信息和操作环境信息。
3、 根据权利要求1或2所述的自动控制软件技术,其特征在于,通过获取操 作对象的句柄来获取操作对象的信息。
4、 根据权利要求1至3任一项所述的自动控制软件技术,由一个自动控制软 件来实现,其特征在于,所述自动控制软件可以通过对特定插件的调用来获取 对特定软件的操作方法。
全文摘要
本发明涉及一种软件技术,具体说涉及一种通过模拟鼠标输入、键盘输入结合计算机屏幕图像分析来实现自动控制操作系统和其他软件的软件技术。通常,我们使用电脑时都是通过人工控制鼠标和键盘来完成各项操作。但是我们使用的软件往往没有可用的控制接口,无法用常规编程办法对这些软件进行自动控制。而有时对这些软件的自动控制显得很有必要,例如大量重复性工作,需要暂时离开,因运行时间过长而无耐心等待等等情况,这时,通过人工操作的方式就存在很大的不足。对此,本发明提供了一种可行的解决方案。本发明提供一种通过模拟鼠标输入、键盘输入结合计算机屏幕图像分析来自动控制操作系统和其他软件的软件技术,可以用于自动化办公、软件操作自动演示和间接实现程序间的接口编程等。
文档编号G06F9/44GK101276270SQ200710064888
公开日2008年10月1日 申请日期2007年3月28日 优先权日2007年3月28日
发明者斌 张, 张登科 申请人:张登科
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1