亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

工具欄功能的擴(kuò)充方法

文檔序號(hào):6605200閱讀:337來(lái)源:國(guó)知局
專利名稱:工具欄功能的擴(kuò)充方法
技術(shù)領(lǐng)域
本發(fā)明是有關(guān)一種工具欄功能的擴(kuò)充方法,特別是一種對(duì)Windows系列操作系統(tǒng)的應(yīng)用程序的工具欄進(jìn)行功能擴(kuò)充的方法,用于在使用者操作工具欄的過(guò)程中,即時(shí)地?cái)U(kuò)充或是修改工具欄的功能。
在Windows作業(yè)系統(tǒng)中運(yùn)作的已知應(yīng)用程序,如Office95系列文書(shū)應(yīng)用程序(Word 95,excel 95,powerpoint 95……),都具有菜單(menu)和工具欄(tool bar)供使用者選取或操作,它是由一系列的圖形按鈕組成,每個(gè)圖形按鈕都可以執(zhí)行特定的功能,借此方便使用者操作,提高操作效率。若是要對(duì)某一應(yīng)用程序的工具欄的功能進(jìn)行擴(kuò)充(例如增加或刪除工具欄中的圖形按鈕),修改工具欄的功能,或是增加原有工具欄所不具有的功能,一種方式是取得應(yīng)用程序的原始碼(Source code),對(duì)其進(jìn)行編修,另一種方式則是取用其他應(yīng)用程序的工具欄的功能而實(shí)現(xiàn)功能的擴(kuò)充。
對(duì)大部分慣用的應(yīng)用程序而言,如果某一應(yīng)用程序無(wú)法取得另一應(yīng)用程序的原始碼(Source code),則無(wú)法透過(guò)取用另一應(yīng)用程序的工具欄的功能達(dá)到擴(kuò)充本身工具欄的功能的目的,也就是說(shuō),如果不是程序設(shè)計(jì)師本身開(kāi)發(fā)的應(yīng)用程序,就不能透過(guò)取用其他應(yīng)用程序的工具欄功能實(shí)現(xiàn)對(duì)本身工具欄的結(jié)構(gòu)進(jìn)行修改和擴(kuò)充。
本發(fā)明的目的是提供一種對(duì)Windows作業(yè)系統(tǒng)的應(yīng)用程序的工具欄結(jié)構(gòu)進(jìn)行功能擴(kuò)充的方法,用以在一電腦系統(tǒng)中,實(shí)現(xiàn)使用者對(duì)工具欄進(jìn)行操作時(shí),即時(shí)地?cái)U(kuò)充工具欄的功能的目的。
本發(fā)明的另一目的是提供一種利用攔截程序,即時(shí)獲取當(dāng)前工具欄的操作資料的方法,以便根據(jù)所獲得的操作資料自一動(dòng)態(tài)資料庫(kù)中檢索取得所需的資料,用于擴(kuò)充工具欄的功能。
本發(fā)明的再一目的是提供一種工具欄的功能的擴(kuò)充方法,用于增加原應(yīng)用程序的工具欄中所不具備的功能。
本發(fā)明提供了一種對(duì)Windows系列作業(yè)系統(tǒng)中的應(yīng)用程序的工具欄結(jié)構(gòu)進(jìn)行功能擴(kuò)充的方法,用以在一電腦系統(tǒng)中,實(shí)現(xiàn)使用者對(duì)工具欄進(jìn)行操作時(shí),即時(shí)地?cái)U(kuò)充工具欄的功能。例如當(dāng)某一應(yīng)用程序的擴(kuò)充功能按鈕標(biāo)志(icon)被點(diǎn)選時(shí),執(zhí)行功能的擴(kuò)充,或者對(duì)當(dāng)前顯示的按鈕文字進(jìn)行即時(shí)漢化等功能。
本發(fā)明所揭露的方法主要是借由下列的功能模塊的運(yùn)作而完成的,其包括有一攔截模塊、一擴(kuò)充功能處理模塊以及一動(dòng)態(tài)資料庫(kù)。利用攔截模塊獲得操作系統(tǒng)的訊息隊(duì)列(Massage queue)中有關(guān)工具欄結(jié)構(gòu)的操作資料,擴(kuò)充功能處理模塊則是根據(jù)獲得的操作資料自動(dòng)態(tài)資料庫(kù)中檢索取得所需的資料,完成對(duì)工具欄結(jié)構(gòu)進(jìn)行功能擴(kuò)充的目的。
本發(fā)明提供了一種在某一應(yīng)用程序(特別是那種由他人所開(kāi)發(fā)設(shè)計(jì)的應(yīng)用程序)運(yùn)行時(shí)(runtime)對(duì)其進(jìn)行即時(shí)的功能擴(kuò)充的方法。利用本發(fā)明的方法可以檢測(cè)到某一應(yīng)用程序的工具欄的即時(shí)操作資料,并可以對(duì)該工具欄的功能進(jìn)行擴(kuò)充,并且不影響到應(yīng)用程序本身原有的功能,這種功能擴(kuò)充可以包括兩個(gè)方面,一是在保證工具欄原有功能的情況下,對(duì)應(yīng)用程序所使用的工具欄功能進(jìn)行增加、刪除、修改等;二是在工具欄中增加原有工具欄中所不具備的功能。
本發(fā)明提供的一種工具欄功能的擴(kuò)充方法,應(yīng)用于一電腦系統(tǒng)的視窗作業(yè)(Windows)環(huán)境中,用于提供一種在操作工具欄之時(shí)可以擴(kuò)充工具欄的功能的方法,其中該工具欄功能的擴(kuò)充方法包括有用程序的相關(guān)資料;啟動(dòng)并初始化一攔截程序和監(jiān)控方式,用以監(jiān)控并且攔截該視窗作業(yè)系統(tǒng)的訊息循環(huán)隊(duì)列中的訊息;取得該訊息中有關(guān)工具欄的操作資料;以及根據(jù)該操作資料檢索該動(dòng)態(tài)資料庫(kù),取得用以擴(kuò)充該工具欄功能所需的功能擴(kuò)充資料,并且處理該功能擴(kuò)充資料完成該工具欄的功能擴(kuò)充。
附圖簡(jiǎn)要說(shuō)明圖1,是為實(shí)現(xiàn)本發(fā)明的方法的電腦系統(tǒng)方框圖;圖2A,顯示在一電腦系統(tǒng)中未加入本發(fā)明的攔截程序時(shí),應(yīng)用程序與作業(yè)系統(tǒng)之間的運(yùn)作關(guān)系圖;圖2B,顯示在一電腦系統(tǒng)中加入本發(fā)明的攔截程序時(shí),應(yīng)用程序與作業(yè)系統(tǒng)之間的運(yùn)作關(guān)系圖;圖3,為本發(fā)明的動(dòng)態(tài)資料庫(kù)的結(jié)構(gòu)圖;圖4,為本發(fā)明的主要步驟流程圖;圖5A,5B,為本發(fā)明的一實(shí)施例的詳細(xì)步驟流程圖。
有關(guān)本發(fā)明的詳細(xì)技術(shù)內(nèi)容及實(shí)施例,將參考


如后。
請(qǐng)參閱圖1,是為實(shí)現(xiàn)本發(fā)明的方法的電腦系統(tǒng)方框圖。其是由下列的硬件部分與軟件部分所構(gòu)成,包括有一Windows系列的作業(yè)系統(tǒng)10(如Windows 3.1,Windows 95,Winows98),用以提供應(yīng)用程序一種視窗作業(yè)的環(huán)境;一輸入單元20(如鍵盤,鼠標(biāo)器或其他功能類似者),可供使用者輸入命令或進(jìn)行工具的操作;一輸出單元30(如顯示器、觸摸式顯示器、喇叭或其他功能類似的多媒體輸出設(shè)備),用以顯示可視化的操作訊息或是聲音訊息;一訊息循環(huán)隊(duì)列40(Massage loop);一應(yīng)用程序50(Application);一攔截模塊60(Hook);一功能擴(kuò)充處理模塊70;以及一動(dòng)態(tài)資料庫(kù)80(Dynamic Link Library,DLL)。
關(guān)于一般Windows系列的作業(yè)系統(tǒng)(Windows 3.1,Wineows 95或Windows 98等)的運(yùn)作,其中所有的事件處理都是通過(guò)訊息來(lái)驅(qū)動(dòng)的,訊息循環(huán)隊(duì)列40就是一種運(yùn)送作業(yè)系統(tǒng)10的所有訊息的系統(tǒng)循環(huán),就是說(shuō),所有的訊息都需進(jìn)入訊息循環(huán)隊(duì)列40,再分發(fā)(Dispatch)給各個(gè)應(yīng)用程序50(如圖2A所示)。而有關(guān)工具欄的訊息則經(jīng)訊息循環(huán)隊(duì)列40判斷,再把有關(guān)工具欄的訊息分發(fā)給工具欄所屬的應(yīng)用程序50(就是工具欄的宿主程序)。本發(fā)明利用一攔截(Hook)模塊60在訊息傳送的過(guò)程中加入一個(gè)過(guò)濾(如圖2B所示)。在本發(fā)明所揭露的方法中,攔截模塊60的作用是攔截訊息循環(huán)隊(duì)列40之中的每一條訊息,并傳送至功能擴(kuò)充處理模塊70。功能擴(kuò)充處理模塊70則是對(duì)獲得的訊息進(jìn)行過(guò)濾和相應(yīng)的處理,對(duì)于需要進(jìn)行處理的訊息,再于動(dòng)態(tài)資料庫(kù)80中檢索,用于取得所需的資料(就是用于擴(kuò)充工具欄的功能所需的資料),再對(duì)取得的資料處理,然后將處理的結(jié)果輸出至輸出單元30或是應(yīng)用程序50,完成工具欄功能的擴(kuò)充;相反地,對(duì)于不需要的訊息不作處理。
在Windwos作業(yè)系統(tǒng)10之中,任一種包含有工具欄的應(yīng)用程序50是一個(gè)獨(dú)立的進(jìn)程(procedure),如果想對(duì)其進(jìn)行擴(kuò)充,必須具有和其共享資料的能力,就一般的動(dòng)態(tài)資料庫(kù)(DLL)而言,不同的應(yīng)用程序雖然可以共享動(dòng)態(tài)資料庫(kù)的代碼段(Code Segment),但對(duì)于資料段(Data Segment)而言,每一個(gè)應(yīng)用程序所取得的都是對(duì)全部資料段的復(fù)本(copy)。例如、在同一個(gè)動(dòng)態(tài)資料庫(kù)中,某一應(yīng)用程序改變了動(dòng)態(tài)資料庫(kù)中的一個(gè)變量(Variable)XX,這種改變對(duì)于另一個(gè)使用這個(gè)動(dòng)態(tài)資料庫(kù)的應(yīng)用程序來(lái)說(shuō),并不是可見(jiàn)的,因?yàn)樗鼉H僅是保存了動(dòng)態(tài)資料庫(kù)中全部變量的另一份復(fù)本(copy)。而在實(shí)現(xiàn)本發(fā)明所揭露的方法時(shí),我們需要的是任何使用該動(dòng)態(tài)資料庫(kù)的應(yīng)用程序50改變資料段的內(nèi)容時(shí),所有使用該動(dòng)態(tài)資料庫(kù)的應(yīng)用程序50都可見(jiàn),也就是說(shuō),需要維護(hù)一份唯一的資料段(Data Segment),以達(dá)到資料共享的目的,而本發(fā)明的實(shí)施手段就是透過(guò)在動(dòng)態(tài)資料庫(kù)80之中將一資料段定義(define)為共享資料段81(Sharing Data Segment)的方式加以實(shí)現(xiàn)。而這個(gè)動(dòng)態(tài)資料庫(kù)80的結(jié)構(gòu)如圖3所示,自圖3中可以看見(jiàn),不同的應(yīng)用程序50a,50b除了各自具有一個(gè)資料段的復(fù)本C1,C2之外,還共同使用其中的共享資料段81。
在動(dòng)態(tài)資料庫(kù)80之中記錄有應(yīng)用程序50之中有多少個(gè)菜單,多少個(gè)工具欄,每個(gè)菜單有多少個(gè)子項(xiàng),每個(gè)工具欄有多少個(gè)圖形按鈕,每個(gè)菜單的名稱與標(biāo)示(ID)以及每個(gè)工具欄的名稱與標(biāo)示(ID),以及用于擴(kuò)充功能的相關(guān)資料項(xiàng)等,以便提供功能擴(kuò)充處理模塊70進(jìn)行工具欄的功能擴(kuò)充處理時(shí)所需的資料。
本發(fā)明的主要步驟流程,如圖4所示,包括有1.首先載入預(yù)定義的動(dòng)態(tài)資料庫(kù),其中包括有欲擴(kuò)充功能的應(yīng)用程序的相關(guān)資料,也就是后續(xù)步驟中所稱包含有欲監(jiān)視的工具欄的應(yīng)用程序,及其所包含的工具欄的相關(guān)資料;2.啟動(dòng)并初始化攔截程序60(即為一種鉤接函數(shù),Hook)和監(jiān)控方式,用以監(jiān)控并且攔截作業(yè)系統(tǒng)10的訊息循環(huán)隊(duì)列40中的訊息;3.取得前述訊息中有關(guān)工具欄的操作資料,此一操作資料包含有當(dāng)前彈出的工具欄的句柄(handel),當(dāng)前彈出的工具欄的名稱,與游標(biāo)的位置;以及4.檢索動(dòng)態(tài)資料庫(kù)取得用以擴(kuò)充工具欄功能所需的功能擴(kuò)充資料,并且處理功能擴(kuò)充資料完成工具欄的功能擴(kuò)充。
其中的步驟3還包括有A.判斷攔截程序60發(fā)來(lái)的訊息是否為需要監(jiān)視的窗口類(即為一種窗口物件類別(Class),其中包含有欲監(jiān)視的工具欄窗口),如果不是則等待下一條自攔截程序60發(fā)來(lái)的訊息,否則進(jìn)行下一步驟;B.判斷前述的窗口類訊息是否是工具欄的宿主窗口,如果不是則等待自攔截程序60發(fā)來(lái)的下一條訊息,否則進(jìn)行下一步驟;以及C.取得工具欄的操作資料。
前述的步驟4則更包含有a.判斷得到的工具欄是否為需要擴(kuò)充功能的工具欄,如果不是,則返回至載入預(yù)定義的動(dòng)態(tài)資料庫(kù)的步驟1重新開(kāi)始,否則在輸出單元中顯示一個(gè)擴(kuò)充功能的揭示(如圖形按鈕或?qū)υ捒?;b.檢索讀取對(duì)應(yīng)的動(dòng)態(tài)資料庫(kù),取得工具欄的識(shí)別碼(ID);c.根據(jù)取得的工具欄識(shí)別碼(ID),從動(dòng)態(tài)資料庫(kù)中檢索取得對(duì)應(yīng)的資料段的資料識(shí)別碼(ID);以及d.根據(jù)取得的資料識(shí)別碼(ID),從動(dòng)態(tài)資料庫(kù)檢索取得用以擴(kuò)充工具欄功能所需的功能擴(kuò)充資料,并且透過(guò)功能擴(kuò)充處理模塊70處理功能擴(kuò)充資料完成工具欄的功能擴(kuò)充。
最后以圖5所示的流程圖,說(shuō)明利用本發(fā)明的方法對(duì)Internet Explorer5.0應(yīng)用程序的工具欄提供即時(shí)線上幫助的擴(kuò)充功能的具體實(shí)施例。本實(shí)施例的目的是對(duì)標(biāo)準(zhǔn)的工具欄功能加以擴(kuò)充,實(shí)現(xiàn)可以利用多媒體播放的方式顯示工具欄中的某一功能,以便使用者能更直觀,更方便的學(xué)習(xí)和使用此一應(yīng)用程序,其表現(xiàn)形式是在可進(jìn)行多媒體即時(shí)線上幫助的工具欄旁增加一幫助窗口,當(dāng)使用者點(diǎn)選某一幫助選項(xiàng)按鈕的時(shí)候,就會(huì)在該幫助窗口中播放或顯示關(guān)于該項(xiàng)按鈕功能的多媒體資料。
達(dá)成以上擴(kuò)充工具欄功能的目的,可借由下列的步驟實(shí)現(xiàn)(如圖5A,5B所示),其包括有1.首先載入預(yù)定義的動(dòng)態(tài)資料庫(kù);2.啟動(dòng)并初始化攔截(Hook)程序60和監(jiān)控方式,用以監(jiān)控并且攔截作業(yè)系統(tǒng)10的訊息循環(huán)隊(duì)列40中的訊息;3.判斷攔截程序60所攔截的訊息是否為Rebare Window 32(此為一種窗口目標(biāo)類別(Class),其中包含有欲監(jiān)視的工具欄窗口)類發(fā)出的通知訊息(Notify,此為子窗口通知其父窗口的訊息),若不是則等待下一條自攔截程序60發(fā)來(lái)的訊息;4.判斷該Rebare Window 32的宿主應(yīng)用程序是否即為欲擴(kuò)充功能的Internet Explorer5.0應(yīng)用程序,若為是進(jìn)行下一步驟,否則等待下一條自攔截程序60發(fā)來(lái)的訊息;5.判斷Notify是否為工具欄的操作訊息(如點(diǎn)選該工具欄),如果是則取得此一工具欄的句柄及名稱,否則等待下一條自攔截程序60發(fā)來(lái)的訊息;6.根據(jù)得到的工具欄的句柄及名稱檢索動(dòng)態(tài)資料庫(kù),取得工具欄的識(shí)別碼(ID);7.根據(jù)該工具欄的識(shí)別碼在動(dòng)態(tài)資料庫(kù)中檢索,如果有包含有線上即時(shí)幫助選項(xiàng)功能,則進(jìn)行下一步驟,否則返回至載入預(yù)定義的動(dòng)態(tài)資料庫(kù)的步驟1;8.根據(jù)游標(biāo)的位置取得工具欄的位置;9.在該工具欄之旁建立一個(gè)幫助(ToolTip)窗口,在此一幫助窗口中的每一個(gè)幫助項(xiàng)目對(duì)應(yīng)于一個(gè)幫助項(xiàng)識(shí)別碼(ID);10.當(dāng)幫助(ToolTip)窗口中的某一幫助項(xiàng)目(如播放圖形的按鈕)被選取時(shí),取得該幫助項(xiàng)目的識(shí)別碼(ID);11.檢索該動(dòng)態(tài)資料庫(kù),找出對(duì)應(yīng)的多媒體的控制項(xiàng);12.調(diào)用一多媒體播放處理模塊處理該多媒體控制項(xiàng)。
本發(fā)明提供了一種對(duì)Windows系列操作系統(tǒng)的應(yīng)用程序中的工具欄進(jìn)行功能擴(kuò)充的方法,可以在一電腦系統(tǒng)中,當(dāng)使用者對(duì)工具欄進(jìn)行操作時(shí),擴(kuò)充工具欄的功能,例如添加,修改,替換,刪除某些選項(xiàng)按鈕等等。例如,利用本發(fā)明可以實(shí)現(xiàn)對(duì)工具欄的即時(shí)漢化(日化,韓化等等),并且不破壞工具欄原有的功能;利用本發(fā)明還可以實(shí)現(xiàn)多媒體的線上即時(shí)幫助功能,當(dāng)使用者將游標(biāo)移到工具欄上的某一選項(xiàng)按鈕時(shí),利用影像聲音等多媒體的播放方式向使用者講解該工具欄上某一選項(xiàng)按鈕的功能等等。
權(quán)利要求
1.一種工具欄功能的擴(kuò)充方法,應(yīng)用于一電腦系統(tǒng)的視窗作業(yè)(Windows)環(huán)境中,用于提供一種在操作工具欄之時(shí)可以擴(kuò)充工具欄的功能的方法,其特征是該工具欄功能的擴(kuò)充方法包括有用程序的相關(guān)資料;啟動(dòng)并初始化一攔截程序和監(jiān)控方式,用以監(jiān)控并且攔截該視窗作業(yè)系統(tǒng)的訊息循環(huán)隊(duì)列中的訊息;取得該訊息中有關(guān)工具欄的操作資料;以及根據(jù)該操作資料檢索該動(dòng)態(tài)資料庫(kù),取得用以擴(kuò)充該工具欄功能所需的功能擴(kuò)充資料,并且處理該功能擴(kuò)充資料完成該工具欄的功能擴(kuò)充。
2.如權(quán)利要求1所述的工具欄功能的擴(kuò)充方法,其特征是載入該動(dòng)態(tài)資料庫(kù)的步驟,更包括有定義一共享資料段的步驟。
3.如權(quán)利要求1所述的工具欄功能的擴(kuò)充方法,其特征是該動(dòng)態(tài)資料庫(kù)記錄有該應(yīng)用程序之中有多少個(gè)菜單,多少個(gè)工具欄,每個(gè)菜單有多少個(gè)子項(xiàng),每個(gè)該工具欄有多少個(gè)圖形按鈕,每個(gè)菜單的名稱與標(biāo)示(ID)與每個(gè)該工具欄的名稱與標(biāo)示(ID),以及用于擴(kuò)充功能的相關(guān)資料項(xiàng)等,以便提供功能擴(kuò)充處理模塊70進(jìn)行工具欄的功能擴(kuò)充處理時(shí)所需的資料。
4.如權(quán)利要求1所述的工具欄功能的擴(kuò)充方法,其特征是該工具欄的操作資料包括有當(dāng)前彈出的該工具欄的句柄(handel),當(dāng)前彈出的該工具欄的名稱,與游標(biāo)的位置。
5.如權(quán)利要求1所述的工具欄功能的擴(kuò)充方法,其特征是取得有關(guān)該工具欄的操作資料的步驟還包括有判斷該攔截程序攔截的該訊息是否為需要監(jiān)視的窗口類,如果不是則等待下一條自該攔截程序攔截的訊息,否則進(jìn)行下一步驟;判斷前述的窗口類訊息是否為該工具欄的宿主窗口,如果不是則等待自該攔截程序攔截的下一條訊息,否則進(jìn)行下一步驟;以及取得該工具欄的操作資料。
6.如權(quán)利要求1所述的工具欄功能的擴(kuò)充方法,其特征是取得所需的該功能擴(kuò)充資料,并且處理該功能擴(kuò)充資料完成該工具欄的功能擴(kuò)充的步驟包括有判斷該工具欄是否為需要擴(kuò)充功能的工具欄,如果不是,則返回至該載入預(yù)定義的動(dòng)態(tài)資料庫(kù)的步驟,否則顯示一個(gè)擴(kuò)充功能的提示;檢索該動(dòng)態(tài)資料庫(kù),取得該工具欄的識(shí)別碼;根據(jù)取得的該工具欄識(shí)別碼,從該動(dòng)態(tài)資料庫(kù)中檢索取得對(duì)應(yīng)的資料段的資料識(shí)別碼;以及根據(jù)取得的該資料識(shí)別碼,從該動(dòng)態(tài)資料庫(kù)檢索取得用以擴(kuò)充該工具欄功能所需的功能擴(kuò)充資料,并且處理該功能擴(kuò)充資料完成該工具欄的功能擴(kuò)充。
全文摘要
一種工具欄(Toolbar)功能的擴(kuò)充方法,應(yīng)用于電腦系統(tǒng)中,用于提供一種在操作工具欄之時(shí)可以擴(kuò)充工具欄的功能(例如添加,修改,替換,刪除某些按鈕等等)的方法。利用攔截程序從作業(yè)系統(tǒng)(OS)的訊息隊(duì)列(Massage queue)中攔截工具欄的操作資料,再根據(jù)所獲得的操作資料自一動(dòng)態(tài)資料庫(kù)中檢索以取得所需的資料,用于擴(kuò)充工具欄中相應(yīng)操作的功能,既不影響到原有工具欄的功能,更可以擴(kuò)充原有工具欄所不具備的功能,例如:提供工具欄的即時(shí)漢化或是以多媒體的顯示方式提供求助功能等等。
文檔編號(hào)G06F9/318GK1310384SQ0010237
公開(kāi)日2001年8月29日 申請(qǐng)日期2000年2月21日 優(yōu)先權(quán)日2000年2月21日
發(fā)明者林光信, 宋建福, 王學(xué)武 申請(qǐng)人:英業(yè)達(dá)股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1