專(zhuān)利名稱(chēng):一種新型自動(dòng)控制軟件技術(shù)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種新型自動(dòng)控制軟件技術(shù),具體說(shuō)涉及一種通過(guò)模擬鼠標(biāo)輸入、鍵盤(pán)輸入結(jié)合計(jì)算機(jī)屏幕圖像分析來(lái)實(shí)現(xiàn)自動(dòng)控制操作系統(tǒng)和其他軟件的軟件技術(shù)。
背景技術(shù):
通常,我們使用電腦時(shí)都是通過(guò)人工控制鼠標(biāo)和鍵盤(pán)來(lái)完成各項(xiàng)操作。但是我們使用的軟件往往沒(méi)有可用的控制接口,無(wú)法用常規(guī)編程辦法對(duì)這些軟件進(jìn)行自動(dòng)控制。而有時(shí)對(duì)這些軟件的自動(dòng)控制顯得很有必要,例如大量重復(fù)性工作,需要暫時(shí)離開(kāi),因運(yùn)行時(shí)間過(guò)長(zhǎng)而無(wú)耐心等待等等情況,這時(shí),通過(guò)人工操作的方式就存在很大的不足。對(duì)此,本發(fā)明提供了一種可行的解決方案
發(fā)明內(nèi)容
本發(fā)明所解決的技術(shù)問(wèn)題是提供一種通過(guò)模擬鼠標(biāo)輸入、鍵盤(pán)輸入結(jié)合計(jì)算機(jī)屏幕圖像分析來(lái)自動(dòng)控制操作系統(tǒng)和其他軟件的軟件技術(shù),可以用于自動(dòng)化辦公、軟件操作自動(dòng)演示和間接實(shí)現(xiàn)程序間的接口編程等。
本發(fā)明的技術(shù)方案如下目前,很多編程語(yǔ)言都提供了應(yīng)用程序接口函數(shù)(API)以及一些與鍵盤(pán)、鼠標(biāo)輸入相關(guān)的方法,在這些函數(shù)或方法里提供了控制鼠標(biāo)位置、鼠標(biāo)事件以及模擬鍵盤(pán)輸入的的函數(shù)或方法。另外,還有一些函數(shù)或方法可以讀取和控制操作界面上各個(gè)窗體的位置,大小, 以及控制窗體的最大化、最小化以及激活等。利用這些函數(shù)和方法,結(jié)合對(duì)屏幕的圖像分析可以完成對(duì)操作系統(tǒng)和其他軟件的自動(dòng)控制。圖像分析的作用在于判斷系統(tǒng)或其他操作對(duì)象的當(dāng)前狀態(tài)、獲取欲操作對(duì)象的位置信息以及判斷自動(dòng)控制的操作結(jié)果是否與預(yù)期目標(biāo)一致。其中,計(jì)算機(jī)屏幕圖像可以通過(guò)讀取內(nèi)存中相應(yīng)數(shù)據(jù)來(lái)獲取,也可以通過(guò)外接攝像設(shè)備來(lái)攝取。
具體實(shí)施方式
本發(fā)明可以采用多種編程語(yǔ)言來(lái)實(shí)現(xiàn),下面用C#語(yǔ)言提供的函數(shù)和方法來(lái)簡(jiǎn)單描述一下實(shí)現(xiàn)過(guò)程。
本發(fā)明優(yōu)選實(shí)施例之一實(shí)現(xiàn)QQ自動(dòng)登陸QQ是Tencent公司開(kāi)發(fā)的一種用于網(wǎng)絡(luò)聊天的軟件,它的登陸界面一般包括兩個(gè)輸入框和兩個(gè)按鈕。其中,兩個(gè)輸入框分別用于輸入用戶(hù)名和密碼,兩個(gè)按鈕分別用于確定輸入和取消登陸。登陸程序運(yùn)行時(shí)一般出現(xiàn)在屏幕正中位置,兩個(gè)輸入框和兩個(gè)按鈕在登陸框中的位置是固定的。
為了實(shí)現(xiàn)自動(dòng)控制登陸的目的,首先要啟動(dòng)QQ程序,一種辦法如下(1)在已知程序文件所在位置時(shí),通過(guò)調(diào)用API函數(shù)WinExe來(lái)啟動(dòng)程序。
(2)然后通過(guò)設(shè)置等待延時(shí)或者通過(guò)計(jì)算機(jī)屏幕圖像分析確定該程序已經(jīng)成功啟動(dòng)。
(3)這一步的目的是獲取輸入框和按鈕的位置,可以采取的辦法有三種1>獲取計(jì)算機(jī)屏幕大小,然后獲取程序的句柄,通過(guò)句柄調(diào)用API函數(shù)Ge tffindowRec t獲取窗體大小和窗體位置,由于兩個(gè)輸入框和兩個(gè)按鈕在登陸框中的位置是固定的,可以計(jì)算出兩個(gè)輸入框和兩個(gè)按鈕的位置。
2>通過(guò)API函數(shù)k tffindowPos設(shè)置窗體的位置到屏幕某一處,由于兩個(gè)輸入框和兩個(gè)按鈕在登陸框中的位置是固定的,可以計(jì)算出兩個(gè)輸入框和兩個(gè)按鈕的位置。
3)直接通過(guò)計(jì)算機(jī)屏幕圖像分析所需控制的輸入框和按鈕的位置。
(4)控制鼠標(biāo)移動(dòng)到輸入用戶(hù)名的輸入框位置,模擬鼠標(biāo)左鍵單擊事件設(shè)置選中輸入框,然后模擬鍵盤(pán)輸入設(shè)定的用戶(hù)名,同樣的方法輸入密碼。
(5)通過(guò)計(jì)算機(jī)屏幕圖像分析確認(rèn)輸入成功。
(6)控制鼠標(biāo)移動(dòng)到確定按鈕的位置,通過(guò)模擬鼠標(biāo)左鍵單擊事件點(diǎn)擊登陸。
對(duì)于登陸框位置和兩個(gè)輸入框和兩個(gè)按鈕位置的確定通過(guò)圖像分析的辦法來(lái)實(shí)現(xiàn),這對(duì)于那些控件位置不確定的程序來(lái)說(shuō)尤為重要。
本發(fā)明優(yōu)選實(shí)施例之二實(shí)現(xiàn)兩個(gè)程序之間的數(shù)據(jù)交換假設(shè)有兩個(gè)應(yīng)用程序A和B,應(yīng)用程序A需要利用應(yīng)用程序B來(lái)進(jìn)行一些計(jì)算。但是應(yīng)用程序B并沒(méi)有提供一個(gè)可用的接口,只是提供了一個(gè)用戶(hù)界面,可以在此界面上輸入已知參數(shù),然后點(diǎn)擊按鈕開(kāi)始計(jì)算。在這種情況下也可以在應(yīng)用程序A中采用優(yōu)選實(shí)施例之一所述方法來(lái)實(shí)現(xiàn)對(duì)應(yīng)用程序B的操作。
本發(fā)明優(yōu)選實(shí)施例之三可以編寫(xiě)一個(gè)完整的自動(dòng)控制軟件來(lái)實(shí)現(xiàn)對(duì)操作系統(tǒng)和其他軟件的自動(dòng)控制。所述自動(dòng)控制軟件提供一個(gè)控制臺(tái)程序,要實(shí)現(xiàn)豐富的功能,可以制作針對(duì)各種常用軟件的插件, 在這些插件里定義了對(duì)這些軟件的控制方法,并且可以被所述控制臺(tái)程序識(shí)別。在裝載了這些插件之后,我們就可以在所述自動(dòng)控制軟件中定義對(duì)相應(yīng)軟件的操作。
權(quán)利要求
1. 一種新型自動(dòng)控制軟件技術(shù),其特征在于,所述自動(dòng)控制軟件技術(shù),通過(guò)模擬鼠標(biāo)輸入和鍵盤(pán)輸入來(lái)實(shí)現(xiàn)自動(dòng)控制操作系統(tǒng)和其他軟件的功能;1)、通過(guò)讀取內(nèi)存中相應(yīng)數(shù)據(jù)來(lái)獲取計(jì)算機(jī)屏幕圖像,或者通過(guò)外接攝像設(shè)備來(lái)攝取計(jì)算機(jī)屏幕圖像。來(lái)其特征在于,通過(guò)對(duì)計(jì)算機(jī)屏幕圖像的分析來(lái)獲取操作對(duì)象的信息和操作環(huán)境信息;2)、通過(guò)獲取操作對(duì)象的句柄來(lái)獲取操作對(duì)象的信息;3)、由一個(gè)自動(dòng)控制軟件來(lái)實(shí)現(xiàn),其特征在于,所述自動(dòng)控制軟件可以通過(guò)對(duì)特定插件的調(diào)用來(lái)獲取對(duì)特定軟件的操作方法。
全文摘要
本發(fā)明涉及一種新型自動(dòng)控制軟件技術(shù),具體說(shuō)涉及一種通過(guò)模擬鼠標(biāo)輸入、鍵盤(pán)輸入結(jié)合計(jì)算機(jī)屏幕圖像分析來(lái)實(shí)現(xiàn)自動(dòng)控制操作系統(tǒng)和其他軟件的軟件技術(shù)。通常,我們使用電腦時(shí)都是通過(guò)人工控制鼠標(biāo)和鍵盤(pán)來(lái)完成各項(xiàng)操作。 但是我們使用的軟件往往沒(méi)有可用的控制接口,無(wú)法用常規(guī)編程辦法對(duì)這些軟件進(jìn)行自動(dòng)控制。 而有時(shí)對(duì)這些軟件的自動(dòng)控制顯得很有必要,例如大量重復(fù)性工作,需要暫時(shí)離開(kāi),因運(yùn)行時(shí)間過(guò)長(zhǎng)而無(wú)耐心等待等等情況,這時(shí),通過(guò)人工操作的方式就存在很大的不足。 對(duì)此,本發(fā)明提供了一種可行的解決方案, 本發(fā)明提供一種通過(guò)模擬鼠標(biāo)輸入、鍵盤(pán)輸入結(jié)合計(jì)算機(jī)屏幕圖像分析來(lái)自動(dòng)控制操作系統(tǒng)和其他軟件的軟件技術(shù),可以用于自動(dòng)化辦公、軟件操作自動(dòng)演示和間接實(shí)現(xiàn)程序間的接口編程等。
文檔編號(hào)G06F9/445GK102479069SQ201010554489
公開(kāi)日2012年5月30日 申請(qǐng)日期2010年11月23日 優(yōu)先權(quán)日2010年11月23日
發(fā)明者欒曉健 申請(qǐng)人:大連兆陽(yáng)軟件科技有限公司