遠程協助過程中的指令控制方法及裝置制造方法
【專利摘要】本發明公開了遠程協助過程中的指令控制方法及裝置,其中,所述方法包括:在主控制端需要向被控制端發送將光標移動到目標操作對象處的指令時,在所述指令中攜帶關于所述目標操作對象的描述信息;被控制端在接收到所述指令后,對所述指令進行解析,獲取其中攜帶的所述目標操作對象的描述信息;根據所述目標操作對象的描述信息確定所述目標操作對象所在的位置,以便按照所述指令的指示,將光標移動到所述目標操作對象所在的位置處。通過本發明,能夠使得在模擬技師操作的遠程協助過程中向被控制端發送指令時,適應被控制端的各種不同屏幕分辨率,保證指令的有效性。
【專利說明】遠程協助過程中的指令控制方法及裝置
【技術領域】
[0001]本發明涉及計算機【技術領域】,特別是涉及遠程協助過程中的指令控制方法及裝置。
【背景技術】
[0002]隨著計算機技術的不斷發展,電腦等計算機設備幾乎成了人們生活中必備的工具。但是,對于很多用戶而言,對電腦的了解僅限于應用層面,卻不懂對電腦進行維護,一旦電腦出現故障,更加束手無策。為此,一些服務商為用戶提供了遠程協助服務,用戶只要在自己的電腦上安裝服務商提供的遠程協助客戶端,就可以與服務商的技師進行溝通,技師可以幫助普通電腦用戶解決軟件和系統問題,例如系統優化、系統補丁升級、驅動安裝、惡意插件清理、病毒/木馬查殺、系統基礎設置、軟件下載、軟件安裝、網絡故障調試等等。
[0003]在實現過程中,用戶可以通過遠程協助客戶端與技師建立聯系。然后,用戶可以選擇讓技師接管對電腦的操作,這樣,技師可以遠程接管用戶的電腦,為用戶進行操作。然而,工程師在為用戶解決某軟件或系統問題時,通常需要執行很多操作,因此,在現有技術中,一般需要工程師為用戶提供一對一的服務,也即,一個工程師只有在為一個用戶解決完某問題之后,才能為其他用戶服務。但是,網絡中的用戶數目眾多,經常會出現眾多的用戶同時發起遠程協助請求的情況,此時,如果技師的人數不足,則會造成用戶的等待,影響遠程協助功能的時效性,而如果增加技師的數量又會增加人力成本。
[0004]為了解決上述問題,本發明人提出了一種模擬技師操作的技術,關于該技術,本 申請人:正作為一件單獨的專利另行申請。在這種模擬技師操作的技術中,在技師側,用戶只要將自己需要解決的問題以對話的方式告訴給技師,技師就可以選擇出解決相應問題的腳本,然后由程序模擬技師的操作,完成協助工作。這樣,就可以減少技師的工作量,使得技師在相同的時間內,可以為多個用戶提供遠程協助服務,便于提高遠程協助功能的時效性。
[0005]但是在模擬技師操作的過程中可能會存在以下問題:在遠程協助的過程中,需要從技師側向用戶側發送指令,由用戶側執行該指令。技師側發送的指令中,經常會涉及到將鼠標移動到某位置處的情況,在真正由技師進行操作的情況下,技師能夠看到用戶側的屏幕狀態,并由技師在自己的顯示屏上顯示出的用戶側屏幕上執行移動鼠標的操作,技師側程序可以通過捕獲鼠標在屏幕上的移動位置,來向用戶側發出指令,以便用戶側執行。但是,在模擬技師操作的情況下,技師側的操作是由程序執行的,但程序無法向人眼一樣直觀地看到用戶側的屏幕,因此,如何提供一種方式,使得程序能夠獲知需要將鼠標移動到什么位置,是迫切需要本領域技術人員解決的問題。
【發明內容】
[0006]本發明提供了遠程協助過程中的指令控制方法及裝置,能夠使得在模擬技師操作的遠程協助過程中向被控制端發送指令時,適應被控制端的各種不同屏幕分辨率,保證指令的有效性。
[0007]本發明提供了如下方案:
[0008]一種遠程協助過程中的指令控制方法,包括:
[0009]在主控制端需要向被控制端發送將光標移動到目標操作對象處的指令時,在所述指令中攜帶關于所述目標操作對象的描述信息;
[0010]被控制端在接收到所述指令后,對所述指令進行解析,獲取其中攜帶的所述目標操作對象的描述信息;
[0011]根據所述目標操作對象的描述信息確定所述目標操作對象所在的位置,以便按照所述指令的指示,將光標移動到所述目標操作對象所在的位置處。
[0012]其中,所述目標操作對象包括目標應用程序窗口中的目標可操作標識;所述指令中攜帶的關于所述目標操作對象的描述信息包括:所述目標應用程序以及所述目標可操作標識的名稱;所述根據所述目標操作對象的描述信息確定所述目標操作對象所在的位置包括:
[0013]根據當前打開的各個窗口的窗口句柄,獲取到各個窗口的標題名稱;
[0014]將從所述指令中解析得到的目標應用程序的名稱與所述各個窗口的標題名稱進行匹配,將匹配成功的窗口確定為目標應用程序的窗口 ;
[0015]在所述目標應用程序的窗口中查找所述目標可操作標識的位置。
[0016]其中,所述在所述目標應用程序的窗口中查找所述目標可操作標識的位置包括:
[0017]抓取所述目標應用程序的窗口中包含的各個可操作標識上顯示的文字;
[0018]將從所述指令中解析得到的目標可操作標識的名稱與所述各個可操作標識上顯示的文字進行匹配,將匹配成功的可操作標識所在的位置確定為目標可操作標識的位置。
[0019]其中,所述在所述目標應用程序的窗口中查找所述目標可操作標識的位置包括:
[0020]查詢預先保存的可操作標識與應用程序窗口之間的相對位置關系,獲取所述目標可操作標識與所述目標應用程序窗口之間的相對位置關系;
[0021 ] 根據所述目標應用程序的窗口所在的位置,以及所述目標可操作標識與所述目標應用程序窗口之間的相對位置關系,確定所述目標可操作標識的位置。
[0022]其中,當所述目標應用程序存在至少兩個版本時,所述預先保存的可操作標識與應用程序窗口之間的相對位置關系為:以其中任一版本為標準保存的可操作標識與應用程序窗口之間的相對位置關系,所述方法還包括:
[0023]將所述光標移動到確定出的目標可操作標識的位置處之后,判斷在此位置執行操作時是否能夠得到響應;
[0024]如果不能,則在所述確定出的目標可操作標識的位置周圍預置范圍內進行嘗試,直到執行操作時得到響應。
[0025]一種遠程協助過程中的指令控制裝置,包括:
[0026]指令發送單元,用于在主控制端需要向被控制端發送將光標移動到目標操作對象處的指令時,在所述指令中攜帶關于所述目標操作對象的描述信息;
[0027]指令解析單元,用于被控制端在接收到所述指令后,對所述指令進行解析,獲取其中攜帶的所述目標操作對象的描述信息;
[0028]位置確定單元,用于根據所述目標操作對象的描述信息確定所述目標操作對象所在的位置,以便按照所述指令的指示,將光標移動到所述目標操作對象所在的位置處。
[0029]其中,所述目標操作對象包括目標應用程序窗口中的目標可操作標識;所述指令中攜帶的關于所述目標操作對象的描述信息包括:所述目標應用程序以及所述目標可操作標識的名稱;所述位置確定單元包括:
[0030]窗口標題獲取子單元,用于根據當前打開的各個窗口的窗口句柄,獲取到各個窗口的標題名稱;
[0031]窗口確定子單元,用于將從所述指令中解析得到的目標應用程序的名稱與所述各個窗口的標題名稱進行匹配,將匹配成功的窗口確定為目標應用程序的窗口 ;
[0032]可操作標識位置確定子單元,用于在所述目標應用程序的窗口中查找所述目標可操作標識的位置。
[0033]其中,所述可操作標識位置確定子單元包括:
[0034]可操作標識文字獲取子單元,用于抓取所述目標應用程序的窗口中包含的各個可操作標識上顯示的文字;
[0035]文字匹配子單元,用于將從所述指令中解析得到的目標可操作標識的名稱與所述各個可操作標識上顯示的文字進行匹配,將匹配成功的可操作標識所在的位置確定為目標可操作標識的位置。
[0036]其中,所述可操作標識位置確定子單元包括:
[0037]相對位置關系查詢子單元,用于查詢預先保存的可操作標識與應用程序窗口之間的相對位置關系,獲取所述目標可操作標識與所述目標應用程序窗口之間的相對位置關系;
[0038]位置比對子單元,用于根據所述目標應用程序的窗口所在的位置,以及所述目標可操作標識與所述目標應用程序窗口之間的相對位置關系,確定所述目標可操作標識的位置。
[0039]其中,當所述目標應用程序存在至少兩個版本時,所述預先保存的可操作標識與應用程序窗口之間的相對位置關系為:以其中任一版本為標準保存的可操作標識與應用程序窗口之間的相對位置關系,所述裝置還包括:
[0040]判斷單元,用于將所述鼠標移動到確定出的目標可操作標識的位置處之后,判斷在此位置執行操作時是否能夠得到響應;
[0041]容錯調試單元,用于如果不能,則在所述確定出的目標可操作標識的位置周圍預置范圍內進行嘗試,直到執行操作時得到響應。
[0042]根據本發明提供的具體實施例,本發明公開了以下技術效果:
[0043]通過本發明,在模擬技師操作實現遠程協助的過程中,在主控制端需要向被控制端發送將光標移動到目標操作對象處的指令時,可以在指令中攜帶關于所述目標操作對象的描述信息,這樣,被控制端就可以通過對指令進行解析,獲取其中攜帶的目標操作對象的描述信息,然后根據目標操作對象的描述信息確定目標操作對象所在的位置。可見,在實現過程中,主控制端發出的指令中,并不是用操作對象在屏幕中的絕對坐標來標識操作對象的位置,而是操作對象的描述信息,因此,對于被控制端而言,就可以通過查找描述信息相符的操作對象,來確定出操作對象的位置,而這種描述信息并不會隨著不同的屏幕分辨率而變化,因此,就能夠適應不同的被控制端屏幕分辨率,保證指令的有效性。
【專利附圖】
【附圖說明】
[0044]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0045]圖1是本發明實施例提供的方法的流程圖;
[0046]圖2是本發明實施例提供的第一裝置的示意圖;
[0047]圖3是本發明實施例提供的第二裝置的示意圖;
[0048]圖4是本發明實施例提供的第三裝置的示意圖;
[0049]圖5是本發明實施例提供的第四裝置的示意圖。
【具體實施方式】
[0050]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0051]為了更好地理解本發明,首先需要說明的是,在遠程協助過程中,技師側相當于是主控制端,用戶側相當于是被控制端,并且,主控制端只是將鍵盤和鼠標的指令傳送給遠程的被控制端電腦,同時被控制端電腦的屏幕畫面通過通信線路回傳過來。也就是說,在主控制端控制被控制端電腦進行操作似乎是在眼前的電腦上進行的,但實質是在遠程的電腦中實現的,不論打開文件,還是上網瀏覽、下載等都是存儲在遠程的被控制端電腦中的。
[0052]其中,主控端程序是運行在幫助解決問題的計算機端,主要功能是通過實現顯示遠程計算機的畫面、操作鍵盤和鼠標的處理、事件的信息發送、畫面的刷新等等達到控制遠程計算機的目的。具體可分為:
[0053]I)連接操作
[0054]可以通過中轉端實現與被控制端的連接。例如,當被控制端連接到中轉端后,主控制端連接到中轉端;然后選擇要控制的被控制端;輸入密碼進行雙方驗證;最終建立主控制與被控制端之間的對應。
[0055]2)畫面顯示
[0056]建立本地桌面窗口,初始化相關畫面信息,當遠程被控制端計算機的畫面信息傳送過來后進行顯示。
[0057]3)事件處理
[0058]當對本地的顯示桌面窗口進行各種操作(如鼠標操作、鍵盤輸入)時,程序實現對事件消息的捕捉,并根據具體信息組合成信息包發送到遠程被控制端計算機。
[0059]4)更新畫面
[0060]當本地程序接收到遠程被控制端計算機傳送過來的消息是更新畫面時,程序接收需要更新的畫面信息內容,根據信息與本地的顯示畫面進行組合實現畫面的部分區域更新操作。
[0061]被控制端程序是運行在需要解決問題的計算機端,主要功能是通過實現本地畫面信息的傳送、遠程消息事件的模擬處理、畫面部分區域更新處理等等達到與主控制端協助目的。具體可分為:
[0062]I)連接操作
[0063]當需要協助時實現連接到主控制端。具體實現時,仍然可以通過中轉端進行中轉,如,被控制端可以首先連接到中轉端,等待主控制端連接到中轉端;然后當主控制端選擇了此被控制端后,要求主控制端輸入驗證密碼,最終建立主控制與被控制端之間的對應。
[0064]2)消息處理
[0065]接收從遠程主控制端對顯示桌面窗口進行各種操作(如鼠標操作、鍵盤輸入)的消息,然后根據接收到的具體消息進行本地的模擬與觸發。
[0066]3)更新區域
[0067]當被控制端的畫面發生的變化時,生成更新區域信息,組合成數據報文發送到主控制端要求其進行相應的畫面更新顯示。
[0068]另外需要說明的是,為了實現模擬技師操作,首先需要在使用傳統的方式進行遠程協助時,記錄下技師執行遠程協助操作的過程中產生的網絡數據包,如果網絡數據包有多個,還可以記錄下各個數據包的時間戳,以便根據對所述網絡數據包的分析生成與技師操作對應的源語,以及源語對應的腳本,供技師進行選擇使用。在生成了多個源語及其對應的腳本之后,可以在主控制端顯示出各個源語的標題,技師可以根據標題來識別出各個源語的含義。當技師接收到用戶發出的遠程協助請求,可以首先通過與用戶的交流(例如發送即時消息等方式)了解用戶需要解決的問題,然后技師就可以針對具體的問題,選擇解決該問題時需要的操作對應的源語,之后就可通過運行選擇出的源語對應的腳本,來執行具體的操作,整個過程在被控制端看來,與技師的實際操作是相同的。
[0069]在模擬技師操作的過程中,為了使得程序能夠獲知需要將鼠標移動到什么位置,比較容易想到的是,通過操作對象在被控制端屏幕中的坐標來表示,這樣,在主控制端的指令中指示將鼠標移動到某坐標處,被控制端按照該指令執行即可。但是,在實際應用中會存在以下問題:
[0070]屏幕中的坐標與屏幕的分辨率是相關的,形象地說,可以把整個顯示屏想象成是一個大型的棋盤,而分辨率的表示方式就是所有經線和緯線交叉點的數目,每個交叉點對應著一個像素,如果以顯示屏左上角第一個點為原點建立坐標,則坐標為(0,0)的點就代表左上角的第一個像素所在的位置,同樣的,其他各像素的位置也都可以通過坐標系中的坐標表示出來。
[0071]不同的被控制端屏幕的分辨率可能是不同的,同一個應用程序在打開時,其窗口在屏幕上的默認位置也可能不同,因此,無法用統一的絕對坐標來表示各種可能的情況。例如,某被控制端的屏幕分辨率是800*600,另一被控制端的屏幕分辨率是1024*768,此時,對于某應用程序而言,即便在不同的電腦中打開時,其窗口都是默認出現在某固定位置(例如屏幕的正中心,也即應用程序窗口的中心與屏幕的中心重合),那么用屏幕中的坐標來表示該應用程序窗口中某按鈕的位置時,也會是不同的,例如,對于第一個被控制端而言,某按鈕可能位于(400,300)處,而對于第二個被控制端,該按鈕卻是出現在(500,400)處,等等。因此,需要被控制端將鼠標移動到該按鈕處時,如果在主控制端的程序中,用(400, 300)或(500,400)等絕對坐標來表示按鈕的位置,顯然都是不合適的。除非要求被控制端在進行遠程協助時,首先將自己的屏幕分辨率按照要求進行設置,但這會增加被控制端用戶的操作,并且如果用戶不懂得如何設置,則會導致遠程協助無法實現。
[0072]因此,在本發明實施例中,并不是以操作對象在屏幕上的絕對坐標來表示鼠標需要移動到的目標位置信息,而是提供了一種有效的解決方法。參見圖1,本發明實施例提供的遠程協助過程中的指令控制方法可以包括以下步驟:
[0073]SlOl:在主控制端需要向被控制端發送將光標移動到目標操作對象處的指令時,在所述指令中攜帶關于所述目標操作對象的描述信息;
[0074]主控制端在向被控制端發送對某操作對象執行某操作的指令時,直接在指令中給出操作對象的描述信息,例如,如果需要被控制端點擊“開始”菜單,則直接在指令中寫明該按鈕的名稱;如果需要被控制端點擊某應用程序窗口中的某可操作標識(也即,能夠接收點擊指令,并給出一定的響應,例如,可能是某操作按鈕等等,為便于描述,在本發明實施例中,均以“按鈕”為例進行介紹),則可以直接在指令中表明,目標應用程序名稱,以及需要點擊的目標按鈕名稱,等等。
[0075]S102:被控制端在接收到所述指令后,對所述指令進行解析,獲取其中攜帶的所述目標操作對象的描述信息;
[0076]被控制端在接收到主控制端的指令之后,可以首先對指令進行解析,獲知被操作對象的信息之后,就可以按照該信息自行查找被操作對象的位置。例如,如果接收到的指令中包含的操作對象是某目標程序中的某目標按鈕,并且指令中給出了目標程序及目標按鈕的名稱,則首先可以根據當前打開的各個窗口的窗口句柄,抓取到各個窗口的標題,將指令中的目標程序名稱與各個窗口的標題進行比對,標題相匹配的窗口就是目標程序的窗口。找到目標程序的窗口之后,如果目標程序窗口中的按鈕是非自繪按鈕,則可以直接識別其中各個按鈕上顯示的文字,然后與指令中的按鈕名稱進行匹配,就可以找到目標按鈕,然后將鼠標移動到該按鈕處執行指令中指定的操作即可。當然,如果目標窗口中的按鈕是自繪按鈕,則無法直接抓取到按鈕上顯示的文字,針對這種情況,可以采取以下方式實現:對于目標程序窗口中的自繪按鈕而言,雖然無法抓取到按鈕上顯示的文字,但是一般會有如下特點:目標窗口的默認大小一般是固定的,并且特定按鈕在窗口中的位置也一般都是固定的,例如,某窗口中的某按鈕是在窗口的右下方,距離窗口下邊沿X個像素、距離右邊沿y個像素處,等等,可以預先在被控制端保存這種位置信息(可以以被控制端程序的配置文件等形式進行保存)。這樣,當接收到主控制端的指令之后,對于目標程序窗口中的非自繪按鈕,由于已知了目標窗口的位置,因此就可以通過查詢位置信息的方式,來獲知目標按鈕的位置,然后將光標移動到該位置處執行主控制端的指令中指示的操作即可。
[0077]當然,需要說明的是,在上述針對自繪按鈕保存按鈕與應用程序窗口之間的相對位置關系時,這種相對位置關系相當于是開發人員在制作窗口時設定的相對位置關系。當然,實際顯示在屏幕上時,窗口的實際大小還與屏幕的實際分辨率有關,因此,對于被控制端而言,在根據查詢到的窗口與按鈕之間的位置關系來查找按鈕的位置時,需要結合實際的屏幕分辨率進行換算,最終確定出按鈕的坐標。例如,假設保存的某按鈕與窗口之間的相對位置關系是:距離窗口下邊沿10個像素、距離右邊沿15個像素處;并且確定出的窗口位置是:窗口右下角的頂點坐標為(150,100),也就是說,下邊沿的縱坐標為100,右邊沿的橫坐標150,因此,可以換算出按鈕的位置是在(90,135)處。
[0078]另外需要說明的是,一般而言,同一款應用程序可能存在不同的版本,在不同的版本中,應用程序窗口中各圖標的位置可能會不完全相同,但一般又不會做特別大的變化,例如,一般可能會是這樣:在不同的版本中,窗口中的按鈕數量以及各自所在的位置、樣式(包括按鈕的大小、顏色等等)大致相同,只不過按鈕的位置可能會有細微的變化。具體如,對于某殺毒軟件,在各個不同版本中,可能都會在窗口的中央位置顯示一個“全盤掃描”按鈕,并且按鈕一般可能是紅色,等等。針對這種情況,為了支持前述根據預先保存的按鈕與窗口之間的位置關系來確定按鈕位置的實現,當然可以在被控制端分別為各個版本保存一套相對位置關系,具體在查詢時,可以根據當前的應用程序版本,查詢與該版本對應保存的相對位置關系。
[0079]但是在本發明實施例中,為了節省被控制端的存儲空間,還給出了能夠支持模糊匹配的實現方式。具體的,針對同一應用程序的多個版本的情況,在被控制端可以僅根據其中某一個版本的窗口設計,保存各個按鈕與窗口之間的相對位置關系,具體在需要根據保存的按鈕與窗口之間的相對位置關系查找按鈕的位置時,無論當前應用程序的版本是否與保存的那個版本是否相同,都可以首先根據保存的相對位置關系進行查找,如果能夠直接找到(判斷找到與否的依據可以是:根據保存的相對位置關系確定出某坐標之后,執行相應的點擊等操作,判斷是否有響應,如果有則證明已經正確找到了按鈕的位置),則進行后續的操作即可。如果沒有直接找到,則可以在根據保存的相對位置關系確定出的某坐標周圍的一定范圍內進行嘗試,例如,在該坐標向某方向移動幾個像素,分別執行點擊等操作進行嘗試,如果向某方向嘗試失敗,則還可以改變其他的方向,直到執行點擊等操作時得到響應為止。當然,如果在一定范圍內均為能成功找到按鈕位置,則可以在控制端向技師發出提示信息,由技師介入處理。也就是說,本發明實施例在查找按鈕位置時,提供了一定的容錯機制,這樣,即使應用程序存在多個版本,也只需要保存其中任一版本中的按鈕與窗口之間的相對位置關系,這樣減少對存儲空間的占用。
[0080]S103:根據所述目標操作對象的描述信息確定所述目標操作對象所在的位置,以便按照所述指令的指示,將光標移動到所述目標操作對象所在的位置處。
[0081]由于已經確定出了目標操作對象的位置,因此,直接按照指令中的指示將光標移動到相應的位置處即可,后續還可以執行點擊、輸入字符等操作。
[0082]總之,在本發明實施例中,在模擬技師操作實現遠程協助的過程中,在主控制端需要向被控制端發送將光標移動到目標操作對象處的指令時,可以在指令中攜帶關于所述目標操作對象的描述信息,這樣,被控制端就可以通過對指令進行解析,獲取其中攜帶的目標操作對象的描述信息,然后根據目標操作對象的描述信息確定目標操作對象所在的位置,可見,在實現過程中,主控制端發出的指令中,并不是用操作對象在屏幕中的絕對坐標來標識操作對象的位置,而是操作對象的描述信息,因此,對于被控制端而言,就可以通過查找描述信息相符的操作對象,來確定出操作對象的位置,而這種描述信息并不會隨著不同的屏幕分辨率而變化,因此,就能夠適應不同的被控制端屏幕分辨率,保證指令的有效性。
[0083]與本發明實施例提供的遠程協助過程中的指令控制方法相對于,本發明實施例還提供了一種遠程協助過程中的指令控制裝置,參見圖2,該裝置可以包括:
[0084]指令發送單元201,用于在主控制端需要向被控制端發送將光標移動到目標操作對象處的指令時,在所述指令中攜帶關于所述目標操作對象的描述信息;
[0085]指令解析單元202,用于被控制端在接收到所述指令后,對所述指令進行解析,獲取其中攜帶的所述目標操作對象的描述信息;
[0086]位置確定單元203,用于根據所述目標操作對象的描述信息確定所述目標操作對象所在的位置,以便按照所述指令的指示,將光標移動到所述目標操作對象所在的位置處。
[0087]其中,所述目標操作對象可以包括目標應用程序窗口中的目標可操作標識;所述指令中攜帶的關于所述目標操作對象的描述信息包括:所述目標應用程序以及所述目標可操作標識的名稱;此時,參見圖3,位置確定單元203具體可以包括:
[0088]窗口標題獲取子單元2031,用于根據當前打開的各個窗口的窗口句柄,獲取到各個窗口的標題名稱;
[0089]窗口確定子單元2032,用于將從所述指令中解析得到的目標應用程序的名稱與所述各個窗口的標題名稱進行匹配,將匹配成功的窗口確定為目標應用程序的窗口 ;
[0090]可操作標識位置確定子單元2033,用于在所述目標應用程序的窗口中查找所述目標可操作標識的位置。
[0091]具體實現時,參見圖4,可操作標識位置確定子單元2033可以包括:
[0092]可操作標識文字獲取子單元20331,用于抓取所述目標應用程序的窗口中包含的各個可操作標識上顯示的文字;
[0093]文字匹配子單元20332,用于將從所述指令中解析得到的目標可操作標識的名稱與所述各個可操作標識上顯示的文字進行匹配,將匹配成功的按鈕所在的位置確定為目標可操作標識的位置。
[0094]或者,參見圖5,可操作標識位置確定子單元2033也可以包括:
[0095]相對位置關系查詢子單元20333,用于查詢預先保存的可操作標識與應用程序窗口之間的相對位置關系,獲取所述目標可操作標識與所述目標應用程序窗口之間的相對位置關系;
[0096]位置比對子單元20334,用于根據所述目標應用程序的窗口所在的位置,以及所述目標可操作標識與所述目標應用程序窗口之間的相對位置關系,確定所述目標可操作標識的位置。
[0097]另外,當所述目標應用程序存在至少兩個版本時,所述預先保存的可操作標識與應用程序窗口之間的相對位置關系為:以其中任一版本為標準保存的可操作標識與應用程序窗口之間的相對位置關系,此時,該裝置還可以包括:
[0098]判斷單元,用于將所述光標移動到確定出的目標可操作標識的位置處之后,判斷在此位置執行操作時是否能夠得到響應;
[0099]容錯調試單元,用于如果不能,則在所述確定出的目標可操作標識的位置周圍預置范圍內進行嘗試,直到執行操作時得到響應。
[0100]總之,在本發明實施例提供的遠程協助過程中的指令控制裝置中,在模擬技師操作實現遠程協助的過程中,在主控制端需要向被控制端發送將光標移動到目標操作對象處的指令時,可以在指令中攜帶關于所述目標操作對象的描述信息,這樣,被控制端就可以通過對指令進行解析,獲取其中攜帶的目標操作對象的描述信息,然后根據目標操作對象的描述信息確定目標操作對象所在的位置,可見,在實現過程中,主控制端發出的指令中,并不是用操作對象在屏幕中的絕對坐標來標識操作對象的位置,而是操作對象的描述信息,因此,對于被控制端而言,就可以通過查找描述信息相符的操作對象,來確定出操作對象的位置,而這種描述信息并不會隨著不同的屏幕分辨率而變化,因此,就能夠適應不同的被控制端屏幕分辨率,保證指令的有效性。
[0101]通過以上的實施方式的描述可知,本領域的技術人員可以清楚地了解到本發明可借助軟件加必需的通用硬件平臺的方式來實現。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品可以存儲在存儲介質中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例或者實施例的某些部分所述的方法。
[0102]本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于裝置或系統實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的裝置及系統實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解并實施。
[0103]以上對本發明所提供的遠程協助過程中的指令控制方法及裝置,進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發明的思想,在【具體實施方式】及應用范圍上均會有改變之處。綜上所述,本說明書內容不應理解為對本發明的限制。
【權利要求】
1.一種遠程協助過程中的指令控制方法,其特征在于,包括: 在主控制端調用操作程序,通過所述操作程序向被控制端發送執行操作,所述執行操作包括被控制端將光標移動到目標操作對象處的指令,在所述指令中攜帶關于所述目標操作對象的描述信息; 被控制端在接收到所述指令后,對所述指令進行解析,獲取其中攜帶的所述目標操作對象的描述信息; 根據所述目標操作對象的描述信息確定所述目標操作對象所在的位置,以便按照所述指令的指示,將光標移動到所述目標操作對象所在的位置處。
2.根據權利要求1所述的方法,其特征在于,所述目標操作對象包括目標應用程序窗口中的目標可操作標識;所述指令中攜帶的關于所述目標操作對象的描述信息包括:所述目標應用程序以及所述目標可操作標識的名稱;所述根據所述目標操作對象的描述信息確定所述目標操作對象所在的位置包括: 根據當前打開的各個窗口的窗口句柄,獲取到各個窗口的標題名稱; 將從所述指令中解析得到的目標應用程序的名稱與所述各個窗口的標題名稱進行匹配,將匹配成功的窗口確定為目標應用程序的窗口 ; 在所述目標應用程序的窗口中查找所述目標可操作標識的位置。
3.根據權利要求2所述的方法,其特征在于,所述在所述目標應用程序的窗口中查找所述目標可操作標識的位置包括: 抓取所述目標應用程序的窗口中包含的各個可操作標識上顯示的文字; 將從所述指令中解析得到的目標可操作標識的名稱與所述各個可操作標識上顯示的文字進行匹配,將匹配成功的可操作標識所在的位置確定為目標可操作標識的位置。
4.根據權利要求2所述的方法,其特征在于,所述在所述目標應用程序的窗口中查找所述目標可操作標識的位置包括: 查詢預先保存的可操作標識與應用程序窗口之間的相對位置關系,獲取所述目標可操作標識與所述目標應用程序窗口之間的相對位置關系; 根據所述目標應用程序的窗口所在的位置,以及所述目標可操作標識與所述目標應用程序窗口之間的相對位置關系,確定所述目標可操作標識的位置。
5.根據權利要求4所述的方法,其特征在于,當所述目標應用程序存在至少兩個版本時,所述預先保存的可操作標識與應用程序窗口之間的相對位置關系為:以其中任一版本為標準保存的可操作標識與應用程序窗口之間的相對位置關系,所述方法還包括: 將所述光標移動到確定出的目標可操作標識的位置處之后,判斷在此位置執行操作時是否能夠得到響應; 如果不能,則在所述確定出的目標可操作標識的位置周圍預置范圍內進行嘗試,直到執行操作時得到響應。
6.一種遠程協助過程中的指令控制裝置,其特征在于,包括: 指令發送單元,用于在主控制端調用操作程序,通過所述操作程序向被控制端發送執行操作,所述執行操作包括被控制端將光標移動到目標操作對象處的指令,在所述指令中攜帶關于所述目標操作對象的描述信息; 指令解析單元,用于被控制端在接收到所述指令后,對所述指令進行解析,獲取其中攜帶的所述目標操作對象的描述信息; 位置確定單元,用于根據所述目標操作對象的描述信息確定所述目標操作對象所在的位置,以便按照所述指令的指示,將光標移動到所述目標操作對象所在的位置處。
7.根據權利要求6所述的裝置,其特征在于,所述目標操作對象包括目標應用程序窗口中的目標可操作標識;所述指令中攜帶的關于所述目標操作對象的描述信息包括:所述目標應用程序以及所述目標可操作標識的名稱;所述位置確定單元包括: 窗口標題獲取子單元,用于根據當前打開的各個窗口的窗口句柄,獲取到各個窗口的標題名稱; 窗口確定子單元,用于將從所述指令中解析得到的目標應用程序的名稱與所述各個窗口的標題名稱進行匹配,將匹配成功的窗口確定為目標應用程序的窗口 ; 可操作標識位置確定子單元,用于在所述目標應用程序的窗口中查找所述目標可操作標識的位置。
8.根據權利要求7所述的裝置,其特征在于,所述可操作標識位置確定子單元包括: 可操作標識文字獲取子單元,用于抓取所述目標應用程序的窗口中包含的各個可操作標識上顯示的文字; 文字匹配子單元,用于將從所述指令中解析得到的目標可操作標識的名稱與所述各個可操作標識上顯示的文字進行匹配,將匹配成功的可操作標識所在的位置確定為目標可操作標識的位置。
9.根據權利要求7所述的方法,其特征在于,所述可操作標識位置確定子單元包括: 相對位置關系查詢子單元,用于查詢預先保存的可操作標識與應用程序窗口之間的相對位置關系,獲取所述目標可操作標識與所述目標應用程序窗口之間的相對位置關系; 位置比對子單元,用于根據所述目標應用程序的窗口所在的位置,以及所述目標可操作標識與所述目標應用程序窗口之間的相對位置關系,確定所述目標可操作標識的位置。
10.根據權利要求9所述的裝置,其特征在于,當所述目標應用程序存在至少兩個版本時,所述預先保存的可操作標識與應用程序窗口之間的相對位置關系為:以其中任一版本為標準保存的可操作標識與應用程序窗口之間的相對位置關系,所述裝置還包括: 判斷單元,用于將所述鼠標移動到確定出的目標可操作標識的位置處之后,判斷在此位置執行操作時是否能夠得到響應; 容錯調試單元,用于如果不能,則在所述確定出的目標可操作標識的位置周圍預置范圍內進行嘗試,直到執行操作時得到響應。
【文檔編號】G06F3/01GK104252232SQ201410543213
【公開日】2014年12月31日 申請日期:2012年3月28日 優先權日:2012年3月28日
【發明者】高云崢 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司