两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

遠(yuǎn)程協(xié)助過程中的指令控制方法及裝置制造方法

文檔序號:6630208閱讀:189來源:國知局
遠(yuǎn)程協(xié)助過程中的指令控制方法及裝置制造方法
【專利摘要】本發(fā)明公開了遠(yuǎn)程協(xié)助過程中的指令控制方法及裝置,其中,所述方法包括:在主控制端需要向被控制端發(fā)送將光標(biāo)移動到目標(biāo)操作對象處的指令時,在所述指令中攜帶關(guān)于所述目標(biāo)操作對象的描述信息;被控制端在接收到所述指令后,對所述指令進(jìn)行解析,獲取其中攜帶的所述目標(biāo)操作對象的描述信息;根據(jù)所述目標(biāo)操作對象的描述信息確定所述目標(biāo)操作對象所在的位置,以便按照所述指令的指示,將光標(biāo)移動到所述目標(biāo)操作對象所在的位置處。通過本發(fā)明,能夠使得在模擬技師操作的遠(yuǎn)程協(xié)助過程中向被控制端發(fā)送指令時,適應(yīng)被控制端的各種不同屏幕分辨率,保證指令的有效性。
【專利說明】遠(yuǎn)程協(xié)助過程中的指令控制方法及裝置

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機(jī)【技術(shù)領(lǐng)域】,特別是涉及遠(yuǎn)程協(xié)助過程中的指令控制方法及裝置。

【背景技術(shù)】
[0002]隨著計算機(jī)技術(shù)的不斷發(fā)展,電腦等計算機(jī)設(shè)備幾乎成了人們生活中必備的工具。但是,對于很多用戶而言,對電腦的了解僅限于應(yīng)用層面,卻不懂對電腦進(jìn)行維護(hù),一旦電腦出現(xiàn)故障,更加束手無策。為此,一些服務(wù)商為用戶提供了遠(yuǎn)程協(xié)助服務(wù),用戶只要在自己的電腦上安裝服務(wù)商提供的遠(yuǎn)程協(xié)助客戶端,就可以與服務(wù)商的技師進(jìn)行溝通,技師可以幫助普通電腦用戶解決軟件和系統(tǒng)問題,例如系統(tǒng)優(yōu)化、系統(tǒng)補(bǔ)丁升級、驅(qū)動安裝、惡意插件清理、病毒/木馬查殺、系統(tǒng)基礎(chǔ)設(shè)置、軟件下載、軟件安裝、網(wǎng)絡(luò)故障調(diào)試等等。
[0003]在實現(xiàn)過程中,用戶可以通過遠(yuǎn)程協(xié)助客戶端與技師建立聯(lián)系。然后,用戶可以選擇讓技師接管對電腦的操作,這樣,技師可以遠(yuǎn)程接管用戶的電腦,為用戶進(jìn)行操作。然而,工程師在為用戶解決某軟件或系統(tǒng)問題時,通常需要執(zhí)行很多操作,因此,在現(xiàn)有技術(shù)中,一般需要工程師為用戶提供一對一的服務(wù),也即,一個工程師只有在為一個用戶解決完某問題之后,才能為其他用戶服務(wù)。但是,網(wǎng)絡(luò)中的用戶數(shù)目眾多,經(jīng)常會出現(xiàn)眾多的用戶同時發(fā)起遠(yuǎn)程協(xié)助請求的情況,此時,如果技師的人數(shù)不足,則會造成用戶的等待,影響遠(yuǎn)程協(xié)助功能的時效性,而如果增加技師的數(shù)量又會增加人力成本。
[0004]為了解決上述問題,本發(fā)明人提出了一種模擬技師操作的技術(shù),關(guān)于該技術(shù),本 申請人:正作為一件單獨的專利另行申請。在這種模擬技師操作的技術(shù)中,在技師側(cè),用戶只要將自己需要解決的問題以對話的方式告訴給技師,技師就可以選擇出解決相應(yīng)問題的腳本,然后由程序模擬技師的操作,完成協(xié)助工作。這樣,就可以減少技師的工作量,使得技師在相同的時間內(nèi),可以為多個用戶提供遠(yuǎn)程協(xié)助服務(wù),便于提高遠(yuǎn)程協(xié)助功能的時效性。
[0005]但是在模擬技師操作的過程中可能會存在以下問題:在遠(yuǎn)程協(xié)助的過程中,需要從技師側(cè)向用戶側(cè)發(fā)送指令,由用戶側(cè)執(zhí)行該指令。技師側(cè)發(fā)送的指令中,經(jīng)常會涉及到將鼠標(biāo)移動到某位置處的情況,在真正由技師進(jìn)行操作的情況下,技師能夠看到用戶側(cè)的屏幕狀態(tài),并由技師在自己的顯示屏上顯示出的用戶側(cè)屏幕上執(zhí)行移動鼠標(biāo)的操作,技師側(cè)程序可以通過捕獲鼠標(biāo)在屏幕上的移動位置,來向用戶側(cè)發(fā)出指令,以便用戶側(cè)執(zhí)行。但是,在模擬技師操作的情況下,技師側(cè)的操作是由程序執(zhí)行的,但程序無法向人眼一樣直觀地看到用戶側(cè)的屏幕,因此,如何提供一種方式,使得程序能夠獲知需要將鼠標(biāo)移動到什么位置,是迫切需要本領(lǐng)域技術(shù)人員解決的問題。


【發(fā)明內(nèi)容】

[0006]本發(fā)明提供了遠(yuǎn)程協(xié)助過程中的指令控制方法及裝置,能夠使得在模擬技師操作的遠(yuǎn)程協(xié)助過程中向被控制端發(fā)送指令時,適應(yīng)被控制端的各種不同屏幕分辨率,保證指令的有效性。
[0007]本發(fā)明提供了如下方案:
[0008]一種遠(yuǎn)程協(xié)助過程中的指令控制方法,包括:
[0009]在主控制端需要向被控制端發(fā)送將光標(biāo)移動到目標(biāo)操作對象處的指令時,在所述指令中攜帶關(guān)于所述目標(biāo)操作對象的描述信息;
[0010]被控制端在接收到所述指令后,對所述指令進(jìn)行解析,獲取其中攜帶的所述目標(biāo)操作對象的描述信息;
[0011]根據(jù)所述目標(biāo)操作對象的描述信息確定所述目標(biāo)操作對象所在的位置,以便按照所述指令的指示,將光標(biāo)移動到所述目標(biāo)操作對象所在的位置處。
[0012]其中,所述目標(biāo)操作對象包括目標(biāo)應(yīng)用程序窗口中的目標(biāo)可操作標(biāo)識;所述指令中攜帶的關(guān)于所述目標(biāo)操作對象的描述信息包括:所述目標(biāo)應(yīng)用程序以及所述目標(biāo)可操作標(biāo)識的名稱;所述根據(jù)所述目標(biāo)操作對象的描述信息確定所述目標(biāo)操作對象所在的位置包括:
[0013]根據(jù)當(dāng)前打開的各個窗口的窗口句柄,獲取到各個窗口的標(biāo)題名稱;
[0014]將從所述指令中解析得到的目標(biāo)應(yīng)用程序的名稱與所述各個窗口的標(biāo)題名稱進(jìn)行匹配,將匹配成功的窗口確定為目標(biāo)應(yīng)用程序的窗口 ;
[0015]在所述目標(biāo)應(yīng)用程序的窗口中查找所述目標(biāo)可操作標(biāo)識的位置。
[0016]其中,所述在所述目標(biāo)應(yīng)用程序的窗口中查找所述目標(biāo)可操作標(biāo)識的位置包括:
[0017]抓取所述目標(biāo)應(yīng)用程序的窗口中包含的各個可操作標(biāo)識上顯示的文字;
[0018]將從所述指令中解析得到的目標(biāo)可操作標(biāo)識的名稱與所述各個可操作標(biāo)識上顯示的文字進(jìn)行匹配,將匹配成功的可操作標(biāo)識所在的位置確定為目標(biāo)可操作標(biāo)識的位置。
[0019]其中,所述在所述目標(biāo)應(yīng)用程序的窗口中查找所述目標(biāo)可操作標(biāo)識的位置包括:
[0020]查詢預(yù)先保存的可操作標(biāo)識與應(yīng)用程序窗口之間的相對位置關(guān)系,獲取所述目標(biāo)可操作標(biāo)識與所述目標(biāo)應(yīng)用程序窗口之間的相對位置關(guān)系;
[0021 ] 根據(jù)所述目標(biāo)應(yīng)用程序的窗口所在的位置,以及所述目標(biāo)可操作標(biāo)識與所述目標(biāo)應(yīng)用程序窗口之間的相對位置關(guān)系,確定所述目標(biāo)可操作標(biāo)識的位置。
[0022]其中,當(dāng)所述目標(biāo)應(yīng)用程序存在至少兩個版本時,所述預(yù)先保存的可操作標(biāo)識與應(yīng)用程序窗口之間的相對位置關(guān)系為:以其中任一版本為標(biāo)準(zhǔn)保存的可操作標(biāo)識與應(yīng)用程序窗口之間的相對位置關(guān)系,所述方法還包括:
[0023]將所述光標(biāo)移動到確定出的目標(biāo)可操作標(biāo)識的位置處之后,判斷在此位置執(zhí)行操作時是否能夠得到響應(yīng);
[0024]如果不能,則在所述確定出的目標(biāo)可操作標(biāo)識的位置周圍預(yù)置范圍內(nèi)進(jìn)行嘗試,直到執(zhí)行操作時得到響應(yīng)。
[0025]一種遠(yuǎn)程協(xié)助過程中的指令控制裝置,包括:
[0026]指令發(fā)送單元,用于在主控制端需要向被控制端發(fā)送將光標(biāo)移動到目標(biāo)操作對象處的指令時,在所述指令中攜帶關(guān)于所述目標(biāo)操作對象的描述信息;
[0027]指令解析單元,用于被控制端在接收到所述指令后,對所述指令進(jìn)行解析,獲取其中攜帶的所述目標(biāo)操作對象的描述信息;
[0028]位置確定單元,用于根據(jù)所述目標(biāo)操作對象的描述信息確定所述目標(biāo)操作對象所在的位置,以便按照所述指令的指示,將光標(biāo)移動到所述目標(biāo)操作對象所在的位置處。
[0029]其中,所述目標(biāo)操作對象包括目標(biāo)應(yīng)用程序窗口中的目標(biāo)可操作標(biāo)識;所述指令中攜帶的關(guān)于所述目標(biāo)操作對象的描述信息包括:所述目標(biāo)應(yīng)用程序以及所述目標(biāo)可操作標(biāo)識的名稱;所述位置確定單元包括:
[0030]窗口標(biāo)題獲取子單元,用于根據(jù)當(dāng)前打開的各個窗口的窗口句柄,獲取到各個窗口的標(biāo)題名稱;
[0031]窗口確定子單元,用于將從所述指令中解析得到的目標(biāo)應(yīng)用程序的名稱與所述各個窗口的標(biāo)題名稱進(jìn)行匹配,將匹配成功的窗口確定為目標(biāo)應(yīng)用程序的窗口 ;
[0032]可操作標(biāo)識位置確定子單元,用于在所述目標(biāo)應(yīng)用程序的窗口中查找所述目標(biāo)可操作標(biāo)識的位置。
[0033]其中,所述可操作標(biāo)識位置確定子單元包括:
[0034]可操作標(biāo)識文字獲取子單元,用于抓取所述目標(biāo)應(yīng)用程序的窗口中包含的各個可操作標(biāo)識上顯示的文字;
[0035]文字匹配子單元,用于將從所述指令中解析得到的目標(biāo)可操作標(biāo)識的名稱與所述各個可操作標(biāo)識上顯示的文字進(jìn)行匹配,將匹配成功的可操作標(biāo)識所在的位置確定為目標(biāo)可操作標(biāo)識的位置。
[0036]其中,所述可操作標(biāo)識位置確定子單元包括:
[0037]相對位置關(guān)系查詢子單元,用于查詢預(yù)先保存的可操作標(biāo)識與應(yīng)用程序窗口之間的相對位置關(guān)系,獲取所述目標(biāo)可操作標(biāo)識與所述目標(biāo)應(yīng)用程序窗口之間的相對位置關(guān)系;
[0038]位置比對子單元,用于根據(jù)所述目標(biāo)應(yīng)用程序的窗口所在的位置,以及所述目標(biāo)可操作標(biāo)識與所述目標(biāo)應(yīng)用程序窗口之間的相對位置關(guān)系,確定所述目標(biāo)可操作標(biāo)識的位置。
[0039]其中,當(dāng)所述目標(biāo)應(yīng)用程序存在至少兩個版本時,所述預(yù)先保存的可操作標(biāo)識與應(yīng)用程序窗口之間的相對位置關(guān)系為:以其中任一版本為標(biāo)準(zhǔn)保存的可操作標(biāo)識與應(yīng)用程序窗口之間的相對位置關(guān)系,所述裝置還包括:
[0040]判斷單元,用于將所述鼠標(biāo)移動到確定出的目標(biāo)可操作標(biāo)識的位置處之后,判斷在此位置執(zhí)行操作時是否能夠得到響應(yīng);
[0041]容錯調(diào)試單元,用于如果不能,則在所述確定出的目標(biāo)可操作標(biāo)識的位置周圍預(yù)置范圍內(nèi)進(jìn)行嘗試,直到執(zhí)行操作時得到響應(yīng)。
[0042]根據(jù)本發(fā)明提供的具體實施例,本發(fā)明公開了以下技術(shù)效果:
[0043]通過本發(fā)明,在模擬技師操作實現(xiàn)遠(yuǎn)程協(xié)助的過程中,在主控制端需要向被控制端發(fā)送將光標(biāo)移動到目標(biāo)操作對象處的指令時,可以在指令中攜帶關(guān)于所述目標(biāo)操作對象的描述信息,這樣,被控制端就可以通過對指令進(jìn)行解析,獲取其中攜帶的目標(biāo)操作對象的描述信息,然后根據(jù)目標(biāo)操作對象的描述信息確定目標(biāo)操作對象所在的位置??梢姡趯崿F(xiàn)過程中,主控制端發(fā)出的指令中,并不是用操作對象在屏幕中的絕對坐標(biāo)來標(biāo)識操作對象的位置,而是操作對象的描述信息,因此,對于被控制端而言,就可以通過查找描述信息相符的操作對象,來確定出操作對象的位置,而這種描述信息并不會隨著不同的屏幕分辨率而變化,因此,就能夠適應(yīng)不同的被控制端屏幕分辨率,保證指令的有效性。

【專利附圖】

【附圖說明】
[0044]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0045]圖1是本發(fā)明實施例提供的方法的流程圖;
[0046]圖2是本發(fā)明實施例提供的第一裝置的示意圖;
[0047]圖3是本發(fā)明實施例提供的第二裝置的示意圖;
[0048]圖4是本發(fā)明實施例提供的第三裝置的示意圖;
[0049]圖5是本發(fā)明實施例提供的第四裝置的示意圖。

【具體實施方式】
[0050]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[0051]為了更好地理解本發(fā)明,首先需要說明的是,在遠(yuǎn)程協(xié)助過程中,技師側(cè)相當(dāng)于是主控制端,用戶側(cè)相當(dāng)于是被控制端,并且,主控制端只是將鍵盤和鼠標(biāo)的指令傳送給遠(yuǎn)程的被控制端電腦,同時被控制端電腦的屏幕畫面通過通信線路回傳過來。也就是說,在主控制端控制被控制端電腦進(jìn)行操作似乎是在眼前的電腦上進(jìn)行的,但實質(zhì)是在遠(yuǎn)程的電腦中實現(xiàn)的,不論打開文件,還是上網(wǎng)瀏覽、下載等都是存儲在遠(yuǎn)程的被控制端電腦中的。
[0052]其中,主控端程序是運行在幫助解決問題的計算機(jī)端,主要功能是通過實現(xiàn)顯示遠(yuǎn)程計算機(jī)的畫面、操作鍵盤和鼠標(biāo)的處理、事件的信息發(fā)送、畫面的刷新等等達(dá)到控制遠(yuǎn)程計算機(jī)的目的。具體可分為:
[0053]I)連接操作
[0054]可以通過中轉(zhuǎn)端實現(xiàn)與被控制端的連接。例如,當(dāng)被控制端連接到中轉(zhuǎn)端后,主控制端連接到中轉(zhuǎn)端;然后選擇要控制的被控制端;輸入密碼進(jìn)行雙方驗證;最終建立主控制與被控制端之間的對應(yīng)。
[0055]2)畫面顯示
[0056]建立本地桌面窗口,初始化相關(guān)畫面信息,當(dāng)遠(yuǎn)程被控制端計算機(jī)的畫面信息傳送過來后進(jìn)行顯示。
[0057]3)事件處理
[0058]當(dāng)對本地的顯示桌面窗口進(jìn)行各種操作(如鼠標(biāo)操作、鍵盤輸入)時,程序?qū)崿F(xiàn)對事件消息的捕捉,并根據(jù)具體信息組合成信息包發(fā)送到遠(yuǎn)程被控制端計算機(jī)。
[0059]4)更新畫面
[0060]當(dāng)本地程序接收到遠(yuǎn)程被控制端計算機(jī)傳送過來的消息是更新畫面時,程序接收需要更新的畫面信息內(nèi)容,根據(jù)信息與本地的顯示畫面進(jìn)行組合實現(xiàn)畫面的部分區(qū)域更新操作。
[0061]被控制端程序是運行在需要解決問題的計算機(jī)端,主要功能是通過實現(xiàn)本地畫面信息的傳送、遠(yuǎn)程消息事件的模擬處理、畫面部分區(qū)域更新處理等等達(dá)到與主控制端協(xié)助目的。具體可分為:
[0062]I)連接操作
[0063]當(dāng)需要協(xié)助時實現(xiàn)連接到主控制端。具體實現(xiàn)時,仍然可以通過中轉(zhuǎn)端進(jìn)行中轉(zhuǎn),如,被控制端可以首先連接到中轉(zhuǎn)端,等待主控制端連接到中轉(zhuǎn)端;然后當(dāng)主控制端選擇了此被控制端后,要求主控制端輸入驗證密碼,最終建立主控制與被控制端之間的對應(yīng)。
[0064]2)消息處理
[0065]接收從遠(yuǎn)程主控制端對顯示桌面窗口進(jìn)行各種操作(如鼠標(biāo)操作、鍵盤輸入)的消息,然后根據(jù)接收到的具體消息進(jìn)行本地的模擬與觸發(fā)。
[0066]3)更新區(qū)域
[0067]當(dāng)被控制端的畫面發(fā)生的變化時,生成更新區(qū)域信息,組合成數(shù)據(jù)報文發(fā)送到主控制端要求其進(jìn)行相應(yīng)的畫面更新顯示。
[0068]另外需要說明的是,為了實現(xiàn)模擬技師操作,首先需要在使用傳統(tǒng)的方式進(jìn)行遠(yuǎn)程協(xié)助時,記錄下技師執(zhí)行遠(yuǎn)程協(xié)助操作的過程中產(chǎn)生的網(wǎng)絡(luò)數(shù)據(jù)包,如果網(wǎng)絡(luò)數(shù)據(jù)包有多個,還可以記錄下各個數(shù)據(jù)包的時間戳,以便根據(jù)對所述網(wǎng)絡(luò)數(shù)據(jù)包的分析生成與技師操作對應(yīng)的源語,以及源語對應(yīng)的腳本,供技師進(jìn)行選擇使用。在生成了多個源語及其對應(yīng)的腳本之后,可以在主控制端顯示出各個源語的標(biāo)題,技師可以根據(jù)標(biāo)題來識別出各個源語的含義。當(dāng)技師接收到用戶發(fā)出的遠(yuǎn)程協(xié)助請求,可以首先通過與用戶的交流(例如發(fā)送即時消息等方式)了解用戶需要解決的問題,然后技師就可以針對具體的問題,選擇解決該問題時需要的操作對應(yīng)的源語,之后就可通過運行選擇出的源語對應(yīng)的腳本,來執(zhí)行具體的操作,整個過程在被控制端看來,與技師的實際操作是相同的。
[0069]在模擬技師操作的過程中,為了使得程序能夠獲知需要將鼠標(biāo)移動到什么位置,比較容易想到的是,通過操作對象在被控制端屏幕中的坐標(biāo)來表示,這樣,在主控制端的指令中指示將鼠標(biāo)移動到某坐標(biāo)處,被控制端按照該指令執(zhí)行即可。但是,在實際應(yīng)用中會存在以下問題:
[0070]屏幕中的坐標(biāo)與屏幕的分辨率是相關(guān)的,形象地說,可以把整個顯示屏想象成是一個大型的棋盤,而分辨率的表示方式就是所有經(jīng)線和緯線交叉點的數(shù)目,每個交叉點對應(yīng)著一個像素,如果以顯示屏左上角第一個點為原點建立坐標(biāo),則坐標(biāo)為(0,0)的點就代表左上角的第一個像素所在的位置,同樣的,其他各像素的位置也都可以通過坐標(biāo)系中的坐標(biāo)表示出來。
[0071]不同的被控制端屏幕的分辨率可能是不同的,同一個應(yīng)用程序在打開時,其窗口在屏幕上的默認(rèn)位置也可能不同,因此,無法用統(tǒng)一的絕對坐標(biāo)來表示各種可能的情況。例如,某被控制端的屏幕分辨率是800*600,另一被控制端的屏幕分辨率是1024*768,此時,對于某應(yīng)用程序而言,即便在不同的電腦中打開時,其窗口都是默認(rèn)出現(xiàn)在某固定位置(例如屏幕的正中心,也即應(yīng)用程序窗口的中心與屏幕的中心重合),那么用屏幕中的坐標(biāo)來表示該應(yīng)用程序窗口中某按鈕的位置時,也會是不同的,例如,對于第一個被控制端而言,某按鈕可能位于(400,300)處,而對于第二個被控制端,該按鈕卻是出現(xiàn)在(500,400)處,等等。因此,需要被控制端將鼠標(biāo)移動到該按鈕處時,如果在主控制端的程序中,用(400, 300)或(500,400)等絕對坐標(biāo)來表示按鈕的位置,顯然都是不合適的。除非要求被控制端在進(jìn)行遠(yuǎn)程協(xié)助時,首先將自己的屏幕分辨率按照要求進(jìn)行設(shè)置,但這會增加被控制端用戶的操作,并且如果用戶不懂得如何設(shè)置,則會導(dǎo)致遠(yuǎn)程協(xié)助無法實現(xiàn)。
[0072]因此,在本發(fā)明實施例中,并不是以操作對象在屏幕上的絕對坐標(biāo)來表示鼠標(biāo)需要移動到的目標(biāo)位置信息,而是提供了一種有效的解決方法。參見圖1,本發(fā)明實施例提供的遠(yuǎn)程協(xié)助過程中的指令控制方法可以包括以下步驟:
[0073]SlOl:在主控制端需要向被控制端發(fā)送將光標(biāo)移動到目標(biāo)操作對象處的指令時,在所述指令中攜帶關(guān)于所述目標(biāo)操作對象的描述信息;
[0074]主控制端在向被控制端發(fā)送對某操作對象執(zhí)行某操作的指令時,直接在指令中給出操作對象的描述信息,例如,如果需要被控制端點擊“開始”菜單,則直接在指令中寫明該按鈕的名稱;如果需要被控制端點擊某應(yīng)用程序窗口中的某可操作標(biāo)識(也即,能夠接收點擊指令,并給出一定的響應(yīng),例如,可能是某操作按鈕等等,為便于描述,在本發(fā)明實施例中,均以“按鈕”為例進(jìn)行介紹),則可以直接在指令中表明,目標(biāo)應(yīng)用程序名稱,以及需要點擊的目標(biāo)按鈕名稱,等等。
[0075]S102:被控制端在接收到所述指令后,對所述指令進(jìn)行解析,獲取其中攜帶的所述目標(biāo)操作對象的描述信息;
[0076]被控制端在接收到主控制端的指令之后,可以首先對指令進(jìn)行解析,獲知被操作對象的信息之后,就可以按照該信息自行查找被操作對象的位置。例如,如果接收到的指令中包含的操作對象是某目標(biāo)程序中的某目標(biāo)按鈕,并且指令中給出了目標(biāo)程序及目標(biāo)按鈕的名稱,則首先可以根據(jù)當(dāng)前打開的各個窗口的窗口句柄,抓取到各個窗口的標(biāo)題,將指令中的目標(biāo)程序名稱與各個窗口的標(biāo)題進(jìn)行比對,標(biāo)題相匹配的窗口就是目標(biāo)程序的窗口。找到目標(biāo)程序的窗口之后,如果目標(biāo)程序窗口中的按鈕是非自繪按鈕,則可以直接識別其中各個按鈕上顯示的文字,然后與指令中的按鈕名稱進(jìn)行匹配,就可以找到目標(biāo)按鈕,然后將鼠標(biāo)移動到該按鈕處執(zhí)行指令中指定的操作即可。當(dāng)然,如果目標(biāo)窗口中的按鈕是自繪按鈕,則無法直接抓取到按鈕上顯示的文字,針對這種情況,可以采取以下方式實現(xiàn):對于目標(biāo)程序窗口中的自繪按鈕而言,雖然無法抓取到按鈕上顯示的文字,但是一般會有如下特點:目標(biāo)窗口的默認(rèn)大小一般是固定的,并且特定按鈕在窗口中的位置也一般都是固定的,例如,某窗口中的某按鈕是在窗口的右下方,距離窗口下邊沿X個像素、距離右邊沿y個像素處,等等,可以預(yù)先在被控制端保存這種位置信息(可以以被控制端程序的配置文件等形式進(jìn)行保存)。這樣,當(dāng)接收到主控制端的指令之后,對于目標(biāo)程序窗口中的非自繪按鈕,由于已知了目標(biāo)窗口的位置,因此就可以通過查詢位置信息的方式,來獲知目標(biāo)按鈕的位置,然后將光標(biāo)移動到該位置處執(zhí)行主控制端的指令中指示的操作即可。
[0077]當(dāng)然,需要說明的是,在上述針對自繪按鈕保存按鈕與應(yīng)用程序窗口之間的相對位置關(guān)系時,這種相對位置關(guān)系相當(dāng)于是開發(fā)人員在制作窗口時設(shè)定的相對位置關(guān)系。當(dāng)然,實際顯示在屏幕上時,窗口的實際大小還與屏幕的實際分辨率有關(guān),因此,對于被控制端而言,在根據(jù)查詢到的窗口與按鈕之間的位置關(guān)系來查找按鈕的位置時,需要結(jié)合實際的屏幕分辨率進(jìn)行換算,最終確定出按鈕的坐標(biāo)。例如,假設(shè)保存的某按鈕與窗口之間的相對位置關(guān)系是:距離窗口下邊沿10個像素、距離右邊沿15個像素處;并且確定出的窗口位置是:窗口右下角的頂點坐標(biāo)為(150,100),也就是說,下邊沿的縱坐標(biāo)為100,右邊沿的橫坐標(biāo)150,因此,可以換算出按鈕的位置是在(90,135)處。
[0078]另外需要說明的是,一般而言,同一款應(yīng)用程序可能存在不同的版本,在不同的版本中,應(yīng)用程序窗口中各圖標(biāo)的位置可能會不完全相同,但一般又不會做特別大的變化,例如,一般可能會是這樣:在不同的版本中,窗口中的按鈕數(shù)量以及各自所在的位置、樣式(包括按鈕的大小、顏色等等)大致相同,只不過按鈕的位置可能會有細(xì)微的變化。具體如,對于某殺毒軟件,在各個不同版本中,可能都會在窗口的中央位置顯示一個“全盤掃描”按鈕,并且按鈕一般可能是紅色,等等。針對這種情況,為了支持前述根據(jù)預(yù)先保存的按鈕與窗口之間的位置關(guān)系來確定按鈕位置的實現(xiàn),當(dāng)然可以在被控制端分別為各個版本保存一套相對位置關(guān)系,具體在查詢時,可以根據(jù)當(dāng)前的應(yīng)用程序版本,查詢與該版本對應(yīng)保存的相對位置關(guān)系。
[0079]但是在本發(fā)明實施例中,為了節(jié)省被控制端的存儲空間,還給出了能夠支持模糊匹配的實現(xiàn)方式。具體的,針對同一應(yīng)用程序的多個版本的情況,在被控制端可以僅根據(jù)其中某一個版本的窗口設(shè)計,保存各個按鈕與窗口之間的相對位置關(guān)系,具體在需要根據(jù)保存的按鈕與窗口之間的相對位置關(guān)系查找按鈕的位置時,無論當(dāng)前應(yīng)用程序的版本是否與保存的那個版本是否相同,都可以首先根據(jù)保存的相對位置關(guān)系進(jìn)行查找,如果能夠直接找到(判斷找到與否的依據(jù)可以是:根據(jù)保存的相對位置關(guān)系確定出某坐標(biāo)之后,執(zhí)行相應(yīng)的點擊等操作,判斷是否有響應(yīng),如果有則證明已經(jīng)正確找到了按鈕的位置),則進(jìn)行后續(xù)的操作即可。如果沒有直接找到,則可以在根據(jù)保存的相對位置關(guān)系確定出的某坐標(biāo)周圍的一定范圍內(nèi)進(jìn)行嘗試,例如,在該坐標(biāo)向某方向移動幾個像素,分別執(zhí)行點擊等操作進(jìn)行嘗試,如果向某方向嘗試失敗,則還可以改變其他的方向,直到執(zhí)行點擊等操作時得到響應(yīng)為止。當(dāng)然,如果在一定范圍內(nèi)均為能成功找到按鈕位置,則可以在控制端向技師發(fā)出提示信息,由技師介入處理。也就是說,本發(fā)明實施例在查找按鈕位置時,提供了一定的容錯機(jī)制,這樣,即使應(yīng)用程序存在多個版本,也只需要保存其中任一版本中的按鈕與窗口之間的相對位置關(guān)系,這樣減少對存儲空間的占用。
[0080]S103:根據(jù)所述目標(biāo)操作對象的描述信息確定所述目標(biāo)操作對象所在的位置,以便按照所述指令的指示,將光標(biāo)移動到所述目標(biāo)操作對象所在的位置處。
[0081]由于已經(jīng)確定出了目標(biāo)操作對象的位置,因此,直接按照指令中的指示將光標(biāo)移動到相應(yīng)的位置處即可,后續(xù)還可以執(zhí)行點擊、輸入字符等操作。
[0082]總之,在本發(fā)明實施例中,在模擬技師操作實現(xiàn)遠(yuǎn)程協(xié)助的過程中,在主控制端需要向被控制端發(fā)送將光標(biāo)移動到目標(biāo)操作對象處的指令時,可以在指令中攜帶關(guān)于所述目標(biāo)操作對象的描述信息,這樣,被控制端就可以通過對指令進(jìn)行解析,獲取其中攜帶的目標(biāo)操作對象的描述信息,然后根據(jù)目標(biāo)操作對象的描述信息確定目標(biāo)操作對象所在的位置,可見,在實現(xiàn)過程中,主控制端發(fā)出的指令中,并不是用操作對象在屏幕中的絕對坐標(biāo)來標(biāo)識操作對象的位置,而是操作對象的描述信息,因此,對于被控制端而言,就可以通過查找描述信息相符的操作對象,來確定出操作對象的位置,而這種描述信息并不會隨著不同的屏幕分辨率而變化,因此,就能夠適應(yīng)不同的被控制端屏幕分辨率,保證指令的有效性。
[0083]與本發(fā)明實施例提供的遠(yuǎn)程協(xié)助過程中的指令控制方法相對于,本發(fā)明實施例還提供了一種遠(yuǎn)程協(xié)助過程中的指令控制裝置,參見圖2,該裝置可以包括:
[0084]指令發(fā)送單元201,用于在主控制端需要向被控制端發(fā)送將光標(biāo)移動到目標(biāo)操作對象處的指令時,在所述指令中攜帶關(guān)于所述目標(biāo)操作對象的描述信息;
[0085]指令解析單元202,用于被控制端在接收到所述指令后,對所述指令進(jìn)行解析,獲取其中攜帶的所述目標(biāo)操作對象的描述信息;
[0086]位置確定單元203,用于根據(jù)所述目標(biāo)操作對象的描述信息確定所述目標(biāo)操作對象所在的位置,以便按照所述指令的指示,將光標(biāo)移動到所述目標(biāo)操作對象所在的位置處。
[0087]其中,所述目標(biāo)操作對象可以包括目標(biāo)應(yīng)用程序窗口中的目標(biāo)可操作標(biāo)識;所述指令中攜帶的關(guān)于所述目標(biāo)操作對象的描述信息包括:所述目標(biāo)應(yīng)用程序以及所述目標(biāo)可操作標(biāo)識的名稱;此時,參見圖3,位置確定單元203具體可以包括:
[0088]窗口標(biāo)題獲取子單元2031,用于根據(jù)當(dāng)前打開的各個窗口的窗口句柄,獲取到各個窗口的標(biāo)題名稱;
[0089]窗口確定子單元2032,用于將從所述指令中解析得到的目標(biāo)應(yīng)用程序的名稱與所述各個窗口的標(biāo)題名稱進(jìn)行匹配,將匹配成功的窗口確定為目標(biāo)應(yīng)用程序的窗口 ;
[0090]可操作標(biāo)識位置確定子單元2033,用于在所述目標(biāo)應(yīng)用程序的窗口中查找所述目標(biāo)可操作標(biāo)識的位置。
[0091]具體實現(xiàn)時,參見圖4,可操作標(biāo)識位置確定子單元2033可以包括:
[0092]可操作標(biāo)識文字獲取子單元20331,用于抓取所述目標(biāo)應(yīng)用程序的窗口中包含的各個可操作標(biāo)識上顯示的文字;
[0093]文字匹配子單元20332,用于將從所述指令中解析得到的目標(biāo)可操作標(biāo)識的名稱與所述各個可操作標(biāo)識上顯示的文字進(jìn)行匹配,將匹配成功的按鈕所在的位置確定為目標(biāo)可操作標(biāo)識的位置。
[0094]或者,參見圖5,可操作標(biāo)識位置確定子單元2033也可以包括:
[0095]相對位置關(guān)系查詢子單元20333,用于查詢預(yù)先保存的可操作標(biāo)識與應(yīng)用程序窗口之間的相對位置關(guān)系,獲取所述目標(biāo)可操作標(biāo)識與所述目標(biāo)應(yīng)用程序窗口之間的相對位置關(guān)系;
[0096]位置比對子單元20334,用于根據(jù)所述目標(biāo)應(yīng)用程序的窗口所在的位置,以及所述目標(biāo)可操作標(biāo)識與所述目標(biāo)應(yīng)用程序窗口之間的相對位置關(guān)系,確定所述目標(biāo)可操作標(biāo)識的位置。
[0097]另外,當(dāng)所述目標(biāo)應(yīng)用程序存在至少兩個版本時,所述預(yù)先保存的可操作標(biāo)識與應(yīng)用程序窗口之間的相對位置關(guān)系為:以其中任一版本為標(biāo)準(zhǔn)保存的可操作標(biāo)識與應(yīng)用程序窗口之間的相對位置關(guān)系,此時,該裝置還可以包括:
[0098]判斷單元,用于將所述光標(biāo)移動到確定出的目標(biāo)可操作標(biāo)識的位置處之后,判斷在此位置執(zhí)行操作時是否能夠得到響應(yīng);
[0099]容錯調(diào)試單元,用于如果不能,則在所述確定出的目標(biāo)可操作標(biāo)識的位置周圍預(yù)置范圍內(nèi)進(jìn)行嘗試,直到執(zhí)行操作時得到響應(yīng)。
[0100]總之,在本發(fā)明實施例提供的遠(yuǎn)程協(xié)助過程中的指令控制裝置中,在模擬技師操作實現(xiàn)遠(yuǎn)程協(xié)助的過程中,在主控制端需要向被控制端發(fā)送將光標(biāo)移動到目標(biāo)操作對象處的指令時,可以在指令中攜帶關(guān)于所述目標(biāo)操作對象的描述信息,這樣,被控制端就可以通過對指令進(jìn)行解析,獲取其中攜帶的目標(biāo)操作對象的描述信息,然后根據(jù)目標(biāo)操作對象的描述信息確定目標(biāo)操作對象所在的位置,可見,在實現(xiàn)過程中,主控制端發(fā)出的指令中,并不是用操作對象在屏幕中的絕對坐標(biāo)來標(biāo)識操作對象的位置,而是操作對象的描述信息,因此,對于被控制端而言,就可以通過查找描述信息相符的操作對象,來確定出操作對象的位置,而這種描述信息并不會隨著不同的屏幕分辨率而變化,因此,就能夠適應(yīng)不同的被控制端屏幕分辨率,保證指令的有效性。
[0101]通過以上的實施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例或者實施例的某些部分所述的方法。
[0102]本說明書中的各個實施例均采用遞進(jìn)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于裝置或系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關(guān)之處參見方法實施例的部分說明即可。以上所描述的裝置及系統(tǒng)實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
[0103]以上對本發(fā)明所提供的遠(yuǎn)程協(xié)助過程中的指令控制方法及裝置,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實施方式】及應(yīng)用范圍上均會有改變之處。綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
【權(quán)利要求】
1.一種遠(yuǎn)程協(xié)助過程中的指令控制方法,其特征在于,包括: 在主控制端調(diào)用操作程序,通過所述操作程序向被控制端發(fā)送執(zhí)行操作,所述執(zhí)行操作包括被控制端將光標(biāo)移動到目標(biāo)操作對象處的指令,在所述指令中攜帶關(guān)于所述目標(biāo)操作對象的描述信息; 被控制端在接收到所述指令后,對所述指令進(jìn)行解析,獲取其中攜帶的所述目標(biāo)操作對象的描述信息; 根據(jù)所述目標(biāo)操作對象的描述信息確定所述目標(biāo)操作對象所在的位置,以便按照所述指令的指示,將光標(biāo)移動到所述目標(biāo)操作對象所在的位置處。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述目標(biāo)操作對象包括目標(biāo)應(yīng)用程序窗口中的目標(biāo)可操作標(biāo)識;所述指令中攜帶的關(guān)于所述目標(biāo)操作對象的描述信息包括:所述目標(biāo)應(yīng)用程序以及所述目標(biāo)可操作標(biāo)識的名稱;所述根據(jù)所述目標(biāo)操作對象的描述信息確定所述目標(biāo)操作對象所在的位置包括: 根據(jù)當(dāng)前打開的各個窗口的窗口句柄,獲取到各個窗口的標(biāo)題名稱; 將從所述指令中解析得到的目標(biāo)應(yīng)用程序的名稱與所述各個窗口的標(biāo)題名稱進(jìn)行匹配,將匹配成功的窗口確定為目標(biāo)應(yīng)用程序的窗口 ; 在所述目標(biāo)應(yīng)用程序的窗口中查找所述目標(biāo)可操作標(biāo)識的位置。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述在所述目標(biāo)應(yīng)用程序的窗口中查找所述目標(biāo)可操作標(biāo)識的位置包括: 抓取所述目標(biāo)應(yīng)用程序的窗口中包含的各個可操作標(biāo)識上顯示的文字; 將從所述指令中解析得到的目標(biāo)可操作標(biāo)識的名稱與所述各個可操作標(biāo)識上顯示的文字進(jìn)行匹配,將匹配成功的可操作標(biāo)識所在的位置確定為目標(biāo)可操作標(biāo)識的位置。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述在所述目標(biāo)應(yīng)用程序的窗口中查找所述目標(biāo)可操作標(biāo)識的位置包括: 查詢預(yù)先保存的可操作標(biāo)識與應(yīng)用程序窗口之間的相對位置關(guān)系,獲取所述目標(biāo)可操作標(biāo)識與所述目標(biāo)應(yīng)用程序窗口之間的相對位置關(guān)系; 根據(jù)所述目標(biāo)應(yīng)用程序的窗口所在的位置,以及所述目標(biāo)可操作標(biāo)識與所述目標(biāo)應(yīng)用程序窗口之間的相對位置關(guān)系,確定所述目標(biāo)可操作標(biāo)識的位置。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,當(dāng)所述目標(biāo)應(yīng)用程序存在至少兩個版本時,所述預(yù)先保存的可操作標(biāo)識與應(yīng)用程序窗口之間的相對位置關(guān)系為:以其中任一版本為標(biāo)準(zhǔn)保存的可操作標(biāo)識與應(yīng)用程序窗口之間的相對位置關(guān)系,所述方法還包括: 將所述光標(biāo)移動到確定出的目標(biāo)可操作標(biāo)識的位置處之后,判斷在此位置執(zhí)行操作時是否能夠得到響應(yīng); 如果不能,則在所述確定出的目標(biāo)可操作標(biāo)識的位置周圍預(yù)置范圍內(nèi)進(jìn)行嘗試,直到執(zhí)行操作時得到響應(yīng)。
6.一種遠(yuǎn)程協(xié)助過程中的指令控制裝置,其特征在于,包括: 指令發(fā)送單元,用于在主控制端調(diào)用操作程序,通過所述操作程序向被控制端發(fā)送執(zhí)行操作,所述執(zhí)行操作包括被控制端將光標(biāo)移動到目標(biāo)操作對象處的指令,在所述指令中攜帶關(guān)于所述目標(biāo)操作對象的描述信息; 指令解析單元,用于被控制端在接收到所述指令后,對所述指令進(jìn)行解析,獲取其中攜帶的所述目標(biāo)操作對象的描述信息; 位置確定單元,用于根據(jù)所述目標(biāo)操作對象的描述信息確定所述目標(biāo)操作對象所在的位置,以便按照所述指令的指示,將光標(biāo)移動到所述目標(biāo)操作對象所在的位置處。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述目標(biāo)操作對象包括目標(biāo)應(yīng)用程序窗口中的目標(biāo)可操作標(biāo)識;所述指令中攜帶的關(guān)于所述目標(biāo)操作對象的描述信息包括:所述目標(biāo)應(yīng)用程序以及所述目標(biāo)可操作標(biāo)識的名稱;所述位置確定單元包括: 窗口標(biāo)題獲取子單元,用于根據(jù)當(dāng)前打開的各個窗口的窗口句柄,獲取到各個窗口的標(biāo)題名稱; 窗口確定子單元,用于將從所述指令中解析得到的目標(biāo)應(yīng)用程序的名稱與所述各個窗口的標(biāo)題名稱進(jìn)行匹配,將匹配成功的窗口確定為目標(biāo)應(yīng)用程序的窗口 ; 可操作標(biāo)識位置確定子單元,用于在所述目標(biāo)應(yīng)用程序的窗口中查找所述目標(biāo)可操作標(biāo)識的位置。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述可操作標(biāo)識位置確定子單元包括: 可操作標(biāo)識文字獲取子單元,用于抓取所述目標(biāo)應(yīng)用程序的窗口中包含的各個可操作標(biāo)識上顯示的文字; 文字匹配子單元,用于將從所述指令中解析得到的目標(biāo)可操作標(biāo)識的名稱與所述各個可操作標(biāo)識上顯示的文字進(jìn)行匹配,將匹配成功的可操作標(biāo)識所在的位置確定為目標(biāo)可操作標(biāo)識的位置。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述可操作標(biāo)識位置確定子單元包括: 相對位置關(guān)系查詢子單元,用于查詢預(yù)先保存的可操作標(biāo)識與應(yīng)用程序窗口之間的相對位置關(guān)系,獲取所述目標(biāo)可操作標(biāo)識與所述目標(biāo)應(yīng)用程序窗口之間的相對位置關(guān)系; 位置比對子單元,用于根據(jù)所述目標(biāo)應(yīng)用程序的窗口所在的位置,以及所述目標(biāo)可操作標(biāo)識與所述目標(biāo)應(yīng)用程序窗口之間的相對位置關(guān)系,確定所述目標(biāo)可操作標(biāo)識的位置。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,當(dāng)所述目標(biāo)應(yīng)用程序存在至少兩個版本時,所述預(yù)先保存的可操作標(biāo)識與應(yīng)用程序窗口之間的相對位置關(guān)系為:以其中任一版本為標(biāo)準(zhǔn)保存的可操作標(biāo)識與應(yīng)用程序窗口之間的相對位置關(guān)系,所述裝置還包括: 判斷單元,用于將所述鼠標(biāo)移動到確定出的目標(biāo)可操作標(biāo)識的位置處之后,判斷在此位置執(zhí)行操作時是否能夠得到響應(yīng); 容錯調(diào)試單元,用于如果不能,則在所述確定出的目標(biāo)可操作標(biāo)識的位置周圍預(yù)置范圍內(nèi)進(jìn)行嘗試,直到執(zhí)行操作時得到響應(yīng)。
【文檔編號】G06F3/01GK104252232SQ201410543213
【公開日】2014年12月31日 申請日期:2012年3月28日 優(yōu)先權(quán)日:2012年3月28日
【發(fā)明者】高云崢 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
富裕县| 朝阳区| 济南市| 定安县| 兴安县| 冕宁县| 佛冈县| 龙海市| 长岭县| 辰溪县| 凤冈县| 莱阳市| 上杭县| 卢湾区| 娱乐| 玉田县| 潞西市| 襄樊市| 漳平市| 永兴县| 张家港市| 吉林市| 阿合奇县| 连州市| 裕民县| 临海市| 聂荣县| 嵊州市| 安康市| 长春市| 永川市| 时尚| 湖州市| 广安市| 平顺县| 涪陵区| 山东省| 邵武市| 土默特左旗| 雅江县| 阿瓦提县|