一種腳本界面互通方法及裝置的制造方法
【專利摘要】腳本界面互通方法及裝置,其中方法包括如下步驟,遍歷腳本內(nèi)容,收集所有界面響應(yīng)事件,將對應(yīng)的腳本內(nèi)容關(guān)聯(lián)生成事件腳本映射表,監(jiān)控界面消息循環(huán),在截獲已收集的響應(yīng)事件時(shí),在腳本映射表中尋找對應(yīng)腳本并執(zhí)行。通過上述方法,解決了界面與腳本互通的問題。
【專利說明】
一種腳本界面互通方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及編程領(lǐng)域,尤其涉及一種腳本語言與界面互通的方法。
【背景技術(shù)】
[0002]腳本是使用一種特定的描述性語言,依據(jù)一定的格式編寫的可執(zhí)行文件。界面是一種可視的圖形化頁面,它通常由按鈕、編輯框、表格等各種控件組成的窗體形式。腳本提供的是過程性處理結(jié)果,而界面提供了人機(jī)交互手段,傳統(tǒng)的腳本語言與界面交互宛如隔山,兩者之間不存在交互。
【發(fā)明內(nèi)容】
[0003]為此,需要提供一種腳本語言與界面互通的方法,達(dá)到腳本界面互通,提升編碼效率的效果。
[0004]為實(shí)現(xiàn)上述目的,發(fā)明人提供了一種腳本界面互通方法,包括如下步驟,遍歷腳本內(nèi)容,收集所有界面響應(yīng)事件,將對應(yīng)的腳本內(nèi)容關(guān)聯(lián)生成事件腳本映射表,監(jiān)控界面消息循環(huán),在截獲已收集的響應(yīng)事件時(shí),在腳本映射表中尋找對應(yīng)腳本并執(zhí)行。
[0005]具體地,還包括步驟,將界面控件的開放內(nèi)容注冊為COM事件接口,在腳本運(yùn)行過程中調(diào)用所述COM事件接口。
[0006]—種腳本界面互通裝置,包括如下模塊,遍歷收集模塊,映射生成模塊,監(jiān)控模塊,執(zhí)行模塊;
[0007]所述遍歷收集模塊用于遍歷腳本內(nèi)容,收集界面響應(yīng)事件;
[0008]所述映射生成模塊用于將界面響應(yīng)事件對應(yīng)的腳本內(nèi)容關(guān)聯(lián)生成事件腳本映射表;
[0009]所述監(jiān)控模塊用于監(jiān)控界面消息循環(huán),截獲響應(yīng)事件;
[0010]所述執(zhí)行模塊用于在監(jiān)控模塊截獲已收集的響應(yīng)事件時(shí),在腳本映射表中尋找對應(yīng)腳本并執(zhí)行。
[0011 ]具體地,還包括注冊模塊,接口調(diào)用模塊;
[0012]所述注冊模塊用于將界面控件的開放內(nèi)容注冊為COM事件接口;
[0013]所述接口調(diào)用模塊還用于在腳本運(yùn)行過程中調(diào)用所述COM事件接口。
[0014]區(qū)別于現(xiàn)有技術(shù),上述技術(shù)方案通過監(jiān)控界面消息循環(huán),在截獲界面消息中的響應(yīng)事件之后找到對應(yīng)腳本執(zhí)行,實(shí)現(xiàn)腳本與界面互通的效果。
【附圖說明】
[0015]圖1為本發(fā)明【具體實(shí)施方式】所述的腳本界面互通方法流程圖;
[0016]圖2為本發(fā)明【具體實(shí)施方式】所述的界面單向與腳本交互示意圖;
[0017]圖3為本發(fā)明【具體實(shí)施方式】所述的腳本單向與界面交互示意圖;
[0018]圖4為本發(fā)明【具體實(shí)施方式】所述的腳本界面交互裝置模塊圖。
[0019]附圖標(biāo)記說明:
[0020]400、遍歷收集模塊;
[0021]402、映射生成模塊;
[0022]404、監(jiān)控模塊;
[0023]406、執(zhí)行模塊;
[0024]408、注冊模塊;
[0025]410、接口調(diào)用模塊。
【具體實(shí)施方式】
[0026]為詳細(xì)說明技術(shù)方案的技術(shù)內(nèi)容、構(gòu)造特征、所實(shí)現(xiàn)目的及效果,以下結(jié)合具體實(shí)施例并配合附圖詳予說明。
[0027]請參閱圖1,為本發(fā)明一種腳本界面互通方法流程圖,包括如下步驟,SlOO遍歷腳本內(nèi)容,收集所有界面響應(yīng)事件,S102將對應(yīng)的腳本內(nèi)容關(guān)聯(lián)生成事件腳本映射表,S104監(jiān)控界面消息循環(huán),S106在截獲已收集的響應(yīng)事件時(shí),在腳本映射表中尋找對應(yīng)腳本并執(zhí)行。其中,所述腳本指現(xiàn)有通行的腳本語言,區(qū)別于程序語言,腳本語言在使用過程中沒有過度龐大的功能,例如按鍵精靈的Q語言等,其中界面指語言編寫程序?qū)嵗膽?yīng)用界面。在本文中以按鍵精靈的Q語言為實(shí)施例進(jìn)行說明??梢越Y(jié)合圖2進(jìn)行進(jìn)一步的解釋,在本實(shí)施例中,通過遍歷腳本內(nèi)容中的界面響應(yīng)事件,將界面響應(yīng)事件與腳本內(nèi)容的對應(yīng)關(guān)系生成事件腳本映射表,在用戶對界面進(jìn)行操作的時(shí)候,界面的內(nèi)容更新或消息循環(huán)會(huì)被監(jiān)控,界面消息循環(huán)指的是界面線程中有個(gè)循環(huán)一直在收取消息,消息包括各種用戶觸發(fā)的消息,如按下按鈕,輸入文本等。當(dāng)監(jiān)控或截獲到已收集的響應(yīng)事件時(shí),便在上述腳本映射表中尋找響應(yīng)事件對應(yīng)的腳本執(zhí)行。通過上述方法,能夠在界面的消息循環(huán)中,在用戶對界面操作的時(shí)候能夠同時(shí)實(shí)現(xiàn)對腳本內(nèi)容的操作,達(dá)到了界面與腳本互通的效果。
[0028]在具體的一些實(shí)施例中,在界面實(shí)例運(yùn)行后,本方法還包括步驟,S108將界面控件的開放內(nèi)容注冊為COM事件接口,S110在腳本運(yùn)行過程中調(diào)用所述COM事件接口。這里可以參看圖3,在界面實(shí)例運(yùn)行后,我們將界面控件可對外開放的方法(如設(shè)置文本內(nèi)容)注冊成COM事件接口,腳本運(yùn)行過程中需要更新界面控件內(nèi)容時(shí),直接調(diào)用對應(yīng)的COM事件接口 Q語言語句(如:Form.1nputBox.Text = "HeI1 World")以達(dá)到對界面控件的訪問或更新。此時(shí)便解決了腳本定向與界面互通,即腳本語句可訪問或更新界面控件,因此通過上述方法,更好地解決了界面與腳本互通的問題。
[0029]在其他一些實(shí)施例中,QUI界面實(shí)例化前先編譯腳本,生成事件腳本映射表,然后進(jìn)入線程消息循環(huán),每讀取一次消息,判斷是否存在QUI事件,不存在則繼續(xù)執(zhí)行消息循環(huán),存在則在事件腳本映射表中查找映射的腳本段,并執(zhí)行該腳本段,腳本段執(zhí)行結(jié)束后返回消息循環(huán)中。同時(shí)QUI界面實(shí)例化后注冊各個(gè)控件COM事件,開放各個(gè)控件的公開方法,在上訴腳本段執(zhí)行時(shí)遇到操作QUI控件的語句則調(diào)用該控件事先注冊的COM事件方法來操作控件(如存取控件文本等)。通過消息循環(huán)與COM事件協(xié)作完成界面與腳本之間的互通。
[0030]這里請看圖4,為一種腳本界面互通裝置,包括如下模塊,遍歷收集模塊400,映射生成模塊402,監(jiān)控模塊404,執(zhí)行模塊406 ;
[0031 ]所述遍歷收集模塊400用于遍歷腳本內(nèi)容,收集界面響應(yīng)事件;
[0032]所述映射生成模塊402用于將界面響應(yīng)事件對應(yīng)的腳本內(nèi)容關(guān)聯(lián)生成事件腳本映射表;
[0033]所述監(jiān)控模塊404用于監(jiān)控界面消息循環(huán),截獲響應(yīng)事件;
[0034]所述執(zhí)行模塊406用于在監(jiān)控模塊截獲已收集的響應(yīng)事件時(shí),在腳本映射表中尋找對應(yīng)腳本并執(zhí)行。通過上述設(shè)計(jì),能夠在能夠在界面的消息循環(huán)中,在用戶對界面操作的時(shí)候能夠同時(shí)實(shí)現(xiàn)對腳本內(nèi)容的操作,達(dá)到了界面與腳本互通的效果。
[0035]在具體的一些實(shí)施例中,還包括注冊模塊408,接口調(diào)用模塊410;
[0036]所述注冊模塊408用于將界面控件的開放內(nèi)容注冊為COM事件接口;
[0037]所述接口調(diào)用模塊410還用于在腳本運(yùn)行過程中調(diào)用所述COM事件接口。
[0038]通過上述設(shè)計(jì)更好地解決了界面與腳本互通的問題。
[0039]需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設(shè)備中還存在另外的要素。此夕卜,在本文中,“大于”、“小于”、“超過”等理解為不包括本數(shù);“以上”、“以下”、“以內(nèi)”等理解為包括本數(shù)。
[0040]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,上述各實(shí)施例可提供為方法、裝置、或計(jì)算機(jī)程序產(chǎn)品。這些實(shí)施例可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。上述各實(shí)施例涉及的方法中的全部或部分步驟可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲(chǔ)于計(jì)算機(jī)設(shè)備可讀取的存儲(chǔ)介質(zhì)中,用于執(zhí)行上述各實(shí)施例方法所述的全部或部分步驟。所述計(jì)算機(jī)設(shè)備,包括但不限于:個(gè)人計(jì)算機(jī)、服務(wù)器、通用計(jì)算機(jī)、專用計(jì)算機(jī)、網(wǎng)絡(luò)設(shè)備、嵌入式設(shè)備、可編程設(shè)備、智能移動(dòng)終端、智能家居設(shè)備、穿戴式智能設(shè)備、車載智能設(shè)備等;所述的存儲(chǔ)介質(zhì),包括但不限于:RAM、R0M、磁碟、磁帶、光盤、閃存、U盤、移動(dòng)硬盤、存儲(chǔ)卡、記憶棒、網(wǎng)絡(luò)服務(wù)器存儲(chǔ)、網(wǎng)絡(luò)云存儲(chǔ)等。
[0041]上述各實(shí)施例是參照根據(jù)實(shí)施例所述的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到計(jì)算機(jī)設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
[0042]這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)設(shè)備以特定方式工作的計(jì)算機(jī)設(shè)備可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)設(shè)備可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
[0043]這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)設(shè)備上,使得在計(jì)算機(jī)設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0044]盡管已經(jīng)對上述各實(shí)施例進(jìn)行了描述,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實(shí)施例做出另外的變更和修改,所以以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利保護(hù)范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種腳本界面互通方法,其特征在于,包括如下步驟,遍歷腳本內(nèi)容,收集所有界面響應(yīng)事件,將對應(yīng)的腳本內(nèi)容關(guān)聯(lián)生成事件腳本映射表,監(jiān)控界面消息循環(huán),在截獲已收集的響應(yīng)事件時(shí),在腳本映射表中尋找對應(yīng)腳本并執(zhí)行。2.根據(jù)權(quán)利要求1所述的腳本界面互通方法,其特征在于,還包括步驟,將界面控件的開放內(nèi)容注冊為COM事件接口,在腳本運(yùn)行過程中調(diào)用所述COM事件接口。3.一種腳本界面互通裝置,其特征在于,包括如下模塊,遍歷收集模塊,映射生成模塊,監(jiān)控模塊,執(zhí)行模塊; 所述遍歷收集模塊用于遍歷腳本內(nèi)容,收集界面響應(yīng)事件; 所述映射生成模塊用于將界面響應(yīng)事件對應(yīng)的腳本內(nèi)容關(guān)聯(lián)生成事件腳本映射表; 所述監(jiān)控模塊用于監(jiān)控界面消息循環(huán),截獲響應(yīng)事件; 所述執(zhí)行模塊用于在監(jiān)控模塊截獲已收集的響應(yīng)事件時(shí),在腳本映射表中尋找對應(yīng)腳本并執(zhí)行。4.根據(jù)權(quán)利要求1所述的腳本界面互通裝置,其特征在于,還包括注冊模塊,接口調(diào)用豐旲塊; 所述注冊模塊用于將界面控件的開放內(nèi)容注冊為COM事件接口; 所述接口調(diào)用模塊還用于在腳本運(yùn)行過程中調(diào)用所述COM事件接口。
【文檔編號】G06F9/54GK106020994SQ201610297591
【公開日】2016年10月12日
【申請日】2016年5月6日
【發(fā)明人】李琦, 李偉, 陳鍵, 林維元, 鄭克文
【申請人】福建創(chuàng)意嘉和軟件有限公司