專利名稱:一種基于模擬輸入和圖像分析的自動(dòng)控制軟件技術(shù)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于模擬輸入和圖像分析的自動(dòng)控制軟件技術(shù),具體說(shuō)涉 及一種通過(guò)模擬鼠標(biāo)輸入、鍵盤輸入結(jié)合計(jì)算機(jī)屏幕圖像分析來(lái)實(shí)現(xiàn)自動(dòng)控制 操作系統(tǒng)和其他軟件的軟件技術(shù)。
技術(shù)背景通常,我們使用電腦時(shí)都是通過(guò)人工控制鼠標(biāo)和鍵盤來(lái)完成各項(xiàng)操作。但 是我們使用的軟件往往沒有可用的控制接口 ,無(wú)法用常規(guī)編程辦法對(duì)這些軟件 進(jìn)行自動(dòng)控制。而有時(shí)對(duì)這些軟件的自動(dòng)控制顯得很有必要,例如大量重復(fù)性 工作,需要暫時(shí)離開,因運(yùn)行時(shí)間過(guò)長(zhǎng)而無(wú)耐心等待等等情況,這時(shí),通過(guò)人 工操作的方式就存在很大的不足。對(duì)此,本發(fā)明提供了一種可行的解決方案。 發(fā)明內(nèi)容本發(fā)明所解決的技術(shù)問(wèn)題是提供一種通過(guò)模擬鼠標(biāo)輸入、鍵盤輸入結(jié)合計(jì) 算機(jī)屏幕圖像分析來(lái)自動(dòng)控制操作系統(tǒng)和其他軟件的軟件技術(shù),可以用于自動(dòng) 化辦公、軟件操作自動(dòng)演示和間接實(shí)現(xiàn)程序間的接口編程等。本發(fā)明的技術(shù)方案如下目前,很多編程語(yǔ)言都提供了應(yīng)用程序接口函數(shù)(API)以及一些與鍵盤、 鼠標(biāo)輸入相關(guān)的方法,在這些函數(shù)或方法里提供了控制鼠標(biāo)位置、鼠標(biāo)事件以 及模擬鍵盤輸入的的函數(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朽吾言提供的函數(shù)和方法來(lái) 簡(jiǎn)單描述一下實(shí)現(xiàn)過(guò)程。 本發(fā)明優(yōu)選實(shí)施例之一實(shí)現(xiàn)QQ自動(dòng)登陸QQ是Tencent公司開發(fā)的一種用于網(wǎng)絡(luò)聊天的軟件,它的登陸界面一般包 括兩個(gè)輸入框和兩個(gè)按鈕。其中,兩個(gè)輸入框分別用于輸入用戶名和密碼,兩 個(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ù)GetWindowRect獲取窗體大小和窗體位置,由于兩個(gè)輸入框和兩個(gè)按鈕在登陸框中的位置是固定的,可以計(jì)算出兩個(gè)輸入框和兩個(gè)按鈕的位置。2〉通過(guò)API函數(shù)SetWindowPos設(shè)置窗體的位置到屏幕某一處,由于兩個(gè)輸入框和兩個(gè)按鈕在登陸框中的位置是固定的,可以計(jì)算出兩個(gè)輸入框和兩個(gè)按鈕的位置。3 〉直接通過(guò)計(jì)算機(jī)屏幕圖像分析所需控制的輸入框和按鈕的位置(4 )控制鼠標(biāo)移動(dòng)到輸入用戶名的輸入框位置,模擬鼠標(biāo)左鍵單擊事件設(shè) 置選中輸入框,然后模擬鍵盤輸入設(shè)定的用戶名,同樣的方法輸入密碼。 (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并沒有提供一個(gè)可用的接口,只是提供了一個(gè)用戶界面, 可以在此界面上輸入已知參數(shù),然后點(diǎn)擊按鈕開始計(jì)算。在這種情況下也可以 在應(yīng)用程序A中采用優(yōu)選實(shí)施例之一所述方法來(lái)實(shí)現(xiàn)對(duì)應(yīng)用程序B的操作。本發(fā)明優(yōu)選實(shí)施例之三可以編寫一個(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)輸入和鍵盤輸入來(lái)實(shí)現(xiàn)自動(dòng)控制操作系統(tǒng)和其他軟件的功能。
2、 根據(jù)權(quán)利要求l所述的自動(dòng)控制軟件技術(shù),通過(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)境信息。
3、 根據(jù)權(quán)利要求1或2所述的自動(dòng)控制軟件技術(shù),其特征在于,通過(guò)獲取操 作對(duì)象的句柄來(lái)獲取操作對(duì)象的信息。
4、 根據(jù)權(quán)利要求1至3任一項(xiàng)所述的自動(dòng)控制軟件技術(shù),由一個(gè)自動(dòng)控制軟 件來(lái)實(shí)現(xiàn),其特征在于,所述自動(dòng)控制軟件可以通過(guò)對(duì)特定插件的調(diào)用來(lái)獲取 對(duì)特定軟件的操作方法。
全文摘要
本發(fā)明涉及一種軟件技術(shù),具體說(shuō)涉及一種通過(guò)模擬鼠標(biāo)輸入、鍵盤輸入結(jié)合計(jì)算機(jī)屏幕圖像分析來(lái)實(shí)現(xiàn)自動(dòng)控制操作系統(tǒng)和其他軟件的軟件技術(shù)。通常,我們使用電腦時(shí)都是通過(guò)人工控制鼠標(biāo)和鍵盤來(lái)完成各項(xiàng)操作。但是我們使用的軟件往往沒有可用的控制接口,無(wú)法用常規(guī)編程辦法對(duì)這些軟件進(jìn)行自動(dòng)控制。而有時(shí)對(duì)這些軟件的自動(dòng)控制顯得很有必要,例如大量重復(fù)性工作,需要暫時(shí)離開,因運(yùn)行時(shí)間過(guò)長(zhǎng)而無(wú)耐心等待等等情況,這時(shí),通過(guò)人工操作的方式就存在很大的不足。對(duì)此,本發(fā)明提供了一種可行的解決方案。本發(fā)明提供一種通過(guò)模擬鼠標(biāo)輸入、鍵盤輸入結(jié)合計(jì)算機(jī)屏幕圖像分析來(lái)自動(dòng)控制操作系統(tǒng)和其他軟件的軟件技術(shù),可以用于自動(dòng)化辦公、軟件操作自動(dòng)演示和間接實(shí)現(xiàn)程序間的接口編程等。
文檔編號(hào)G06F9/44GK101276270SQ200710064888
公開日2008年10月1日 申請(qǐng)日期2007年3月28日 優(yōu)先權(quán)日2007年3月28日
發(fā)明者斌 張, 張登科 申請(qǐng)人:張登科