專利名稱:在屏幫助的實現方法
技術領域:
本發明涉及一種軟件系統為用戶提供幫助信息的實現方法,尤其涉及一種在計算機軟件應用中的根據用戶所進行的具體操作提供在屏幫助的實現方法。
背景技術:
在軟件開發技術越來越成熟的今天,各類軟件、尤其是一些規模大、功能多的軟件成功開發出來(如OS,Office等軟件),極大地方便了用戶。然而,對于一個新的應用軟件來說,使用者在不熟悉該軟件操作的情況下,往往都需要在不同程度上依賴該應用軟件的幫助系統。
傳統的軟件幫助系統,例如微軟的Office的幫助系統在使用中通常是需要用戶在啟動在屏幫助系統后(例如點擊“幫助”控件或按F1鍵),需要用戶輸入一些關鍵詞或者在目錄索引里查找才能獲得相關的幫助信息,并且要到這些相關信息中去查找對自己真正有用的幫助信息。這種異步的幫助方式給用戶使用幫助帶來極大的不便,帶來了一系列問題,如軟件的學習周期長,易學性差,許多功能用戶都很難真正掌握,推廣困難,極大地造成了系統資源的浪費。
發明內容
本發明的目的在于針對上述現有技術中存在的不足,提出一種在屏幫助的實現方法,該方法能夠自動為軟件界面被激活的控件(控件包括按鈕、復選框、列表框、窗口等)提供精準、及時、動態的幫助信息,使在屏幫助與用戶操作同步,提高了用戶的工作效率,有利于軟件的推廣,并節約了系統資源。
為實現上述目的,本發明提供了一種在屏幫助的實現方法,包括以下步聚步驟1、啟動在屏幫助進程;步驟2、應用軟件的主進程獲取到應用軟件界面上的控件獲得焦點進入激活狀態的焦點事件信息后,生成描述所述控件的遍歷關系的命令字符串;步驟3、所述在屏幫助進程與所述主進程通信,獲取所述命令字符串;步驟4、所述在屏幫助進程查詢在屏幫助文檔的索引表,獲取與所述命令字符串對應的在屏幫助文檔的路徑信息;步驟5、根據所述路徑信息,輸出顯示與所述命令字符串對應的在屏幫助文檔。
所述步驟2中生成描述所述控件的遍歷關系的命令字符串的具體操作可以為遍歷所述控件的所有父容器,根據繼承關系的先后順序,生成一個由所述控件的所有父容器的名稱構成的命令字符串。在生成一個由所述控件的所有父容器的名稱構成的命令字符串后,還可以將所述控件的名稱寫入到該命令字符串中并與所述由父容器的名稱構成的字符串相區別。在所述步驟5中,所述在屏幫助進程獲取所述字符串中的所述控件的名稱,根據所述控件的名稱,在所述在應屏幫助文檔中進行查詢定位,獲取與所述控件對應的幫助內容的位置信息,根據所述位置信息,輸出顯示所述在屏幫助文檔中與所述控件對應的幫助內容。
綜上所述,本發明具有如下的優點1、精準的幫助信息每一個通過軟件界面完成的用戶操作,即激活控件,都關聯到與該操作相應的一個在屏幫助文檔,并精確定位到在屏幫助文檔的具體位置。
2、及時的幫助信息用戶操作的同時提供相應有效的幫助信息。
3、動態的幫助信息用戶的操作發生變化,則相應的在屏幫助文檔也隨之動態變化。
下面通過附圖和實施例,對本發明的技術方案做進一步的詳細描述。
圖1為本發明的屏幫助的實現方法的原理流程圖;圖2為本發明在屏幫助的實現方法的一個具體實施例的流程圖;圖3為本發明在屏幫助的實現方法的另一個具體實施例的流程圖。
具體實施例方式
參見圖1,其為本發明的在屏幫助的實現方法的原理流程圖,包括如下步驟步驟101、啟動在屏幫助進程;具體的啟動方式可以采用預先定義的熱鍵觸發啟動,或者當用戶通過鼠標點擊軟件操作界面上的幫助控件觸發啟動,也可以在用戶啟動應用軟件的同時就啟動該在屏幫助進程。
步驟102、應用軟件的主進程獲取到其界面上的控件獲得焦點進入激活狀態的焦點事件信息后,生成描述所述控件的遍歷關系的命令字符串;當用戶點擊軟件界面上的某一控件或通過其他方式(如按鍵盤上的Tab鍵)切換到某一控件上時,該控件便獲得焦點并進入了激活狀態,獲得焦點的過程便是焦點事件,應用軟件通過獲取該焦點事件信息便獲知用戶當前是對哪一個控件進行操作,從而提供該控件響應的幫助信息。另外,描述所述控件的遍歷關系的命令字符串可以保證所述命令字符串的唯一性,從而,保證了所述命令字符串和所述在屏幫助文檔一一對應。
步驟103、所述在屏幫助進程與所述主進程通信,獲取所述命令字符串;具體的通信方式,可以采用套接字的方式進行通信,則所述在屏幫助進程先讀入套接字,經過解析后獲得所述命令字符串。
步驟104、所述在屏幫助進程查詢在屏幫助文檔的索引表,獲取與所述命令字符串對應的在屏幫助文檔的路徑信息;步驟105、根據所述路徑信息,輸出顯示與所述命令字符串對應的在屏幫助文檔。其具體的輸出顯示方式,可以采用一個專用的在屏幫助窗口進行幫助信息的顯示,該窗口可以采用懸浮窗口的方式設計,方便用戶查看幫助信息。
在上述步驟102中生成描述所述控件的遍歷關系的命令字符串的具體操作為遍歷所述控件的所有父容器,根據繼承關系的先后順序,生成一個由所述控件的所有父容器的名稱構成的命令字符串。由于每一個控件都是位于一個父容器中,依次向上遍歷到最后的一個父容器,通過繼承關系便可以唯一確定一個控件,這樣,保證了所述命令字符串的唯一性,從而,保證了所述命令字符串和所述在屏幫助文檔一一對應。
另外,在生成一個由所述控件的所有父容器的名稱構成的命令字符串后,可以將所述控件的名稱寫入到該命令字符串中并與所述由父容器的名稱構成的字符串相區別,例如,可以采用一個特殊的字符與由父容器的名稱構成的字符串相隔開。這樣在該字符串中也包含了具體的控件名稱的信息。這樣,在屏幫助進程可以根據該控件的名稱更準確的定位需要提供的幫助信息。在所述步驟105中,所述在屏幫助進程獲取所述字符串中的所述控件的名稱,根據所述控件的名稱,在所述在應屏幫助文檔中進行查詢定位,獲取與所述控件對應的幫助內容的位置信息,根據所述位置信息,輸出顯示所述在屏幫助文檔中與所述控件對應的幫助內容。
另外,在所述步驟101中,啟動所述在屏幫助進程的同時還啟動一定時器;在所述步驟102與步驟103之間還包括判斷所述定時器是否到時的操作,如果到時,則執行所述步驟103,如果未到時,則等待。判斷定時器是否到時的操作節約了所述字處理軟件的系統資源,提高了所述主進程的運行效率。
下面通過兩個具體應用的實施例來進一步說明本發明,參見圖2所示,其為本發明在屏幫助的實現方法的一個具體實施例的流程圖,該實施例為一個電子表格軟件的在屏幫助的實現過程,例如,所述電子表格軟件(Spread-Sheet)“菜單”條上的“數據”控件中的“排序”控件的在屏幫助,其具體過程如下步驟11用戶在電子表格軟件界面上,點擊F1鍵,啟動在屏幫助進程,在所述電子表格軟件界面的右側顯示其在屏幫助的界面;步驟12使用熱鍵ALT+D激活“數據”控件后,使用鍵盤上的箭頭指示指到“排序”控件上,所述“排序”控件獲得焦點進入激活狀態,所述控件獲得焦點的過程即焦點事件,所述電子表格軟件的主進程獲取所述“排序”控件進入激活狀態的焦點事件信息,并進行處理后產生一個描述所述控件的遍歷關系的命令字符串,由于每一個控件都是位于一個父容器中,依次向上遍歷到最后的一個父容器,就可以根據父容器的名稱組成一個由父容器構成字符串,則所述命令字符串為“SS/menu/數據/排序”;步驟13所述主進程將所述命令字符串寫入套接字;步驟14所述在屏幫助進程裝載在屏幫助文檔的索引表,該索引表預先設置在所述應用軟件中,具有所有在屏幫助文檔的路徑信息,且每一個所述路徑信息中均包括一個與該路徑信息唯一對應的所述命令字符串,索引表的格式分為兩部分,包括命令字符串和在屏幫助文檔的路徑信息,以冒號分開,則所述命令字符串“SS/menu/數據/排序”在所述索引表中的格式為SS/menu/數據/排序commands/data/sort.htm;步驟15所述在屏幫助進程與所述主進程通信,讀入所述套接字并解析獲得命令字符串中的“SS/menu/數據/排序”,根據所述索引表獲得所述控件的相應在屏幫助文檔的路徑信息commands/data/sort.htm,根據所述路徑信息進行定位,在所述在屏幫助的界面顯示“排序”控件的在屏幫助文檔。
上述實施例中,步驟12中的對所述焦點事件信息進行處理后,產生所述控件的遍歷關系的命令字符串的操作保證了所述命令字符串的唯一性,從而,保證了所述命令字符串和所述在屏幫助文檔一一對應。
參見圖3所示,圖3為本發明在屏幫助的實現方法的另一個具體實施例的流程圖,該實施例為一個字處理軟件的在屏幫助的實現過程,例如獲取所述字處理軟件(WordProcessor)“菜單”條上的“插入”菜單下的“插入超鏈接”對話框控件中的“要顯示的文字”控件的在屏幫助,其具體過程如下步驟21用戶在字處理軟件的界面上,通過鼠標點擊的方式選擇所述字處理軟件界面中幫助菜單下的在屏幫助選項啟動在屏幫助進程,在所述字處理軟件界面的右側顯示其在屏幫助的界面,用戶啟動所述在屏幫助進程的同時還啟動一預先設置了時間間隔的定時器;步驟22當用戶的鼠標移動到“菜單”條上的“插入”菜單下的“超鏈接”控件上,在所述字處理軟件的界面上先會彈出一個“插入超鏈接”對話框,然后將鼠標移動到該對話框控件中的“要顯示的文字”控件上,所述“要顯示的文字”控件獲得焦點,所述控件獲得焦點的過程即焦點事件,在這個操作過程中,所述字處理軟件的主進程獲取所述焦點事件信息,進行處理后產生一個描述所述控件的遍歷關系的命令字符串,由于每一個控件都是位于一個父容器中,依次向上遍歷到最后的一個父容器,就可以根據父容器的名稱組成一個由父容器構成的字符串,則這個操作產生所述命令字符串為“WP/dialog/插入超鏈接”;步驟23所述主進程將所述命令字符串寫入套接字;步驟24所述在屏幫助進程裝載預先設置的在屏幫助文檔的索引表,該索引表預先設置在所述應用軟件中,具有所有在屏幫助文檔的路徑信息,且每一個所述路徑信息中均包括一個與該路徑信息唯一對應的所述命令字符串,索引表的格式分為兩部分,包括命令字符串和在屏幫助文檔的路徑信息,以冒號分開,則所述命令字符串中的“WP/dialog/插入超鏈接”在所述索引表中的格式為WP/dialog/插入超鏈接/dialogboxes/insert/hyperlink/inserthyperlink.htm;步驟25判斷所述定時器是否到時,如果到時,則執行下面的步驟27,如果未到時,則執行下面的步驟26;步驟26所述在屏幫助進程等待與所述主進程通信;步驟27所述在屏幫助進程與所述主進程通信,讀入所述套接字,并解析獲得所述命令字符串中的“WP/dialog/插入超鏈接”,根據所述索引表獲得所述“插入超鏈接”對話框控件的相應在屏幫助文檔的路徑信息dialogboxes/insert/hyperlink/inserthyperlink.htm,根據所述路徑信息進行一次定位,在所述在屏幫助的界面顯示“插入超鏈接”對話框控件的在屏幫助文檔;步驟28在將“插入超鏈接”對話框中名稱為“要顯示的文字”控件的幫助信息準確定位在所述在屏幫助文檔中的具體位置時,則按照步驟22的原理產生命令字符串“WP/dialog/插入超鏈接$要顯示的文字”,為了簡化兩個進程的通信內容,實際寫入的命令字符串為“$要顯示的文字”;幫助進程按照步驟27讀入所述套接字,根據命令字符串的$符號解析出“要顯示的文字”,并在上述在屏幫助文檔中進行二次定位,跳轉到“要顯示的文字”控件在所述在屏幫助文檔中相應的在屏幫助信息的具體位置,如果命令字符串中包含了$符號,就表示需要進行二次定位。
上述實施例中,步驟22中的對所述焦點事件信息進行處理后,產生所述控件的遍歷關系的命令字符串的操作保證了所述命令字符串的唯一性,從而,保證了所述命令字符串和所述在屏幫助文檔一一對應;步驟21中用戶啟動所述在屏幫助進程的同時還啟動一預先設置了時間間隔的定時器以及步驟25中判斷定時器是否到時的操作節約了所述字處理軟件的系統資源,提高了所述主進程的運行效率;步驟28的二次定位既減少了幫助文檔的數量,又達到了精確定位的效果。
另外,所述在屏幫助進程被觸發后,與所述主進程通信并定時去讀取套接字的同時,還通過操作系統,定時掃描所述主進程的工作狀況。如果所述主程序運行正常,通過其在屏幫助界面的退出鍵按鈕,完成正常退出在屏幫助;所述主程序運行不正常,所述在屏幫助進程便會根據掃描到的所述主進程的狀態,判斷是退出還是繼續運行,如果所述主進程存在,則繼續重復所述在屏幫助的實現過程;如果所述主進程不存在,則關閉所述在屏幫助進程,退出在屏幫助。所述在屏幫助進程定時掃描所述主進程工作狀況的操作,保證了所述在屏幫助進程和所述主進程同步。
最后所應說明的是,以上實施例僅用以說明本發明的技術方案而非限制,盡管參照較佳實施例對本發明進行了詳細說明,本領域的普通技術人員應當理解,可以對本發明的技術方案進行修改或者等同替換,而不脫離本發明技術方案的精神和范圍。
權利要求
1.一種在屏幫助的實現方法,其特征在于,包括以下步驟步驟1、啟動在屏幫助進程;步驟2、應用軟件的主進程獲取到應用軟件界面上的控件獲得焦點,進入激活狀態的焦點事件信息后,生成描述所述控件的遍歷關系的命令字符串;步驟3、所述在屏幫助進程與所述主進程通信,獲取所述命令字符串;步驟4、所述在屏幫助進程查詢在屏幫助文檔的索引表,獲取與所述命令字符串對應的在屏幫助文檔的路徑信息;步驟5、根據所述路徑信息,輸出顯示與所述命令字符串對應的在屏幫助文檔。
2.根據權利要求1所述的方法,其特征在于,所述步驟2中生成描述所述控件的遍歷關系的命令字符串的具體操作為遍歷所述控件的所有父容器,根據繼承關系的先后順序,生成一個由所述控件的所有父容器的名稱構成的命令字符串。
3.根據權利要求2所述的方法,其特征在于,在所述步驟2中,在生成一個所述控件的所有父容器的名稱構成的命令字符串后,將所述控件的名稱寫入到該命令字符串中并與所述由父容器的名稱構成的字符串相區別。
4.根據權利要求3所述的方法,其特征在于,在所述步驟5中,所述在屏幫助進程獲取所述字符串中的所述控件的名稱,根據所述控件的名稱,在所述在應屏幫助文檔中進行查詢定位,獲取與所述控件對應的幫助內容的位置信息,根據所述位置信息,輸出顯示所述在屏幫助文檔中與所述控件對應的幫助內容。
5.根據權要求1至4任一所述的方法,其特征在于,在所述步驟3中,所述在屏幫助進程與所述主進程之間通過套接字的方式進行通信。
6.根據權利要求5所述的方法,其特征在于,在所述步驟1中,啟動所述在屏幫助進程的同時還啟動一定時器;在所述步驟2與步驟3之間還包括判斷所述定時器是否到時的操作,如果到時,則執行所述步驟3,如果未到時,則等待。
7.根據權利要求1至4任一所述的方法,其特征在于,在所述步驟1中,在屏幫助進程通過熱鍵或鼠標點擊觸發啟動。
8.根據權利要求1至4任一所述的方法,其特征在于,在所述步驟5中,將所述在屏幫助文檔輸出到在屏幫助窗口中進行顯示。
全文摘要
本發明涉及一種在屏幫助的實現方法,包括以下步驟步驟1、啟動在屏幫助進程;步驟2、應用軟件的主進程獲取到應用軟件界面上的控件獲得焦點進入激活狀態的焦點事件信息后,生成描述所述控件的遍歷關系的命令字符串;步驟3、所述在屏幫助進程與所述主進程通信,獲取所述命令字符串;步驟4、所述在屏幫助進程查詢在屏幫助文檔的索引表,獲取與所述命令字符串對應的在屏幫助文檔的路徑信息;步驟5、根據所述路徑信息,輸出顯示與所述命令字符串對應的在屏幫助文檔。通過本發明的方法,可以為用戶的軟件操作提供精準、及時、動態的幫助信息。
文檔編號G06F9/44GK1858701SQ20061008068
公開日2006年11月8日 申請日期2006年5月29日 優先權日2006年5月29日
發明者張義強, 葉慶楚 申請人:無錫永中科技有限公司