一种新型自动控制软件技术的制作方法

文档序号:11133624阅读:277来源:国知局

本发明涉及一种新型自动控制软件技术,具体说涉及一种通过模拟鼠标输入、键盘输入结合计算机屏幕图像分析来实现自动控制操作系统和其他软件的软件技术。



背景技术:

通常,我们使用电脑时都是通过人工控制鼠标和键盘来完成各项操作。但是我们使用的软件往往没有可用的控制接口,无法用常规编程办法对这些软件进行自动控制。而有时对这些软件的自动控制显得很有必要,例如大量重复性工作,需要暂时离开,因运行时间过长而无耐心等待等等情况,这时,通过人工操作的方式就存在很大的不足。对此,本发明提供了一种可行的解决方案。



技术实现要素:

本发明所解决的技术问题是提供一种通过模拟鼠标输入、键盘输入结合计算机屏幕图像分析来自动控制操作系统和其他软件的软件技术,可以用于自动化办公、软件操作自动演示和间接实现程序间的接口编程等。

本发明的技术方案如下:

目前,很多编程语言都提供了应用程序接口函数( API)以及一些与键盘、鼠标输入相关的方法,在这些函数或方法里提供了控制鼠标位置、鼠标事件以及模拟键盘输入的的函数或方法。另外,还有一些函数或方法可以读取和控制操作界面上各个窗体的位置,大小,以及控制窗体的最大化、最小化以及激活等。利用这些函数和方法,结合对屏幕的图像分析可以完成对操作系统和其他软件的自动控制。图像分析的作用在于判断系统或其他操作对象的当前状态、获取欲操作对象的位置信息以及判断自动控制的操作结果是否与预期目标一 致。其中,计算机屏幕图像可以通过读取内存中相应数据来获取,也可以通过外接摄像设备来摄取。

具体实施方式

本发明可以采用多种编程语言来实现,下面用C#语言提供的函数和方法来简单描述一下实现过程。

本发明优选实施例之一实现QQ自动登陆

QQ是Tencent公司开发的一种用于网络聊天的软件,它的登陆界面一般包括两个输入框和两个按钮。其中,两个输入框分别用于输入用户名和密码,两个按钮分别用于确定输入和取消登陆。登陆程序运行时一般出现在屏幕正中位置,两个输入框和两个按钮在登陆框中的位置是固定的。

为了实现自动控制登陆的目的,首先要启动QQ程序,一种办法如下:

(1)在已知程序文件所在位置时,通过调用API函数WinExe来启动程序。

(2)然后通过设置等待延时或者通过计算机屏幕图像分析确定该程序已经成功启动。

(3)这一步的目的是获取输入框和按钮的位置,可以采取的办法有三种:

1>获取计算机屏幕大小,然后获取程序的句柄,通过句柄调用API函数Ge tWindowRec t获取窗体大小和窗体位置,由于两个输入框和两个按钮在登陆框中的位置是固定的,可以计算出两个输入框和两个按钮的位置。

2>通过API函数Se tWindowPos设置窗体的位置到屏幕某一处,由于两个输入框和两个按钮在登陆框中的位置是固定的,可以计算出两个输入框和两个按钮的位置。

3)直接通过计算机屏幕图像分析所需控制的输入框和按钮的位置。

(4)控制鼠标移动到输入用户名的输入框位置,模拟鼠标左键单击事件设置选中输入框,然后模拟键盘输入设定的用户名,同样的方法输入密码。

(5)通过计算机屏幕图像分析确认输入成功。

(6)控制鼠标移动到确定按钮的位置,通过模拟鼠标左键单击事件点击登陆。

对于登陆框位置和两个输入框和两个按钮位置的确定通过图像分析的办法来实现,这对于那些控件位置不确定的程序来说尤为重要。

本发明优选实施例之二

实现两个程序之间的数据交换

假设有两个应用程序A和B,应用程序A需要利用应用程序B来进行一些计算。但是应用程序B并没有提供一个可用的接口,只是提供了一个用户界面,可以在此界面上输入已知参数,然后点击按钮开始计算。在这种情况下也可以在应用程序A中采用优选实施例之一所述方法来实现对应用程序B的操作。

本发明优选实施例之三

可以编写一个完整的自动控制软件来实现对操作系统和其他软件的自动控制。所述自动控制软件提供一个控制台程序,要实现丰富的功能,可以制作针对各种常用软件的插件,在这些插件里定义了对这些软件的控制方法,并且可以被所述控制台程序识别。在装载了这些插件之后,我们就可以在所述自动控制软件中定义对相应软件的操作。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1