專利名稱:動(dòng)態(tài)菜單和工具欄的監(jiān)視與擴(kuò)充方法
技術(shù)領(lǐng)域:
本發(fā)明是有關(guān)于一種動(dòng)態(tài)菜單和工具欄的監(jiān)視與擴(kuò)充方法,本發(fā)明提供一種動(dòng)態(tài)菜單和工具欄的監(jiān)視與擴(kuò)充方法,可即時(shí)監(jiān)視了解使用者對(duì)新型動(dòng)態(tài)菜單和工具欄所進(jìn)行的操作,并且能使外掛應(yīng)用程序?qū)π滦蛣?dòng)態(tài)菜單和工具欄即時(shí)進(jìn)行功能擴(kuò)充、增加附屬功能。
在一般常用的應(yīng)用程序中,都具有菜單(menu)和工具欄(tool bar)供使用者選取,以方便使用者操作,提高操作效率。常用的應(yīng)用程序,如Office95系列文書應(yīng)用程序(word 95,exel 95,powerpoint 95……),其菜單和工具欄的內(nèi)容是固定不變,菜單和工具欄的置放位置亦是不可更改,缺乏因應(yīng)使用者個(gè)人需求而動(dòng)態(tài)變更的設(shè)計(jì)。
為了使菜單和工具欄更能符合使用者的需求,發(fā)揮協(xié)助使用者提高操作效率的目的,目前新一代的應(yīng)用程序,如Office 2000系列文書應(yīng)用程序、VC++v5.0、VC+v6.0……等,其菜單和工具欄即具有可動(dòng)態(tài)變更的設(shè)計(jì)。此類的新型菜單和工具欄,可由使用者自行定義菜單和工具欄的內(nèi)容,并可將新增的菜單內(nèi)容或工具欄內(nèi)容拖拉出來置放,成為另一獨(dú)立的新窗口。
此類新型菜單和工具欄的內(nèi)容和置放位置因?yàn)榫哂锌蓜?dòng)態(tài)變更的設(shè)計(jì),使得菜單和工具欄可以更符合使用者的操作需求。但是,這類可動(dòng)態(tài)變更的新型菜單和工具欄,并無法利用傳統(tǒng)固定菜單和工具欄中所使用的方法及技術(shù)來獲得使用者的操作資料,而目前尚未有任何技術(shù)可以實(shí)現(xiàn)對(duì)此類可動(dòng)態(tài)變更的菜單和工具欄的監(jiān)視與控制。由于無法監(jiān)視與控制此種新型菜單和工具欄,一些需要使用者操作資料的外掛輔助應(yīng)用程序,便無法在具有此類新型菜單和工具欄的應(yīng)用程序執(zhí)行。
本發(fā)明的主要目的,是提供一種動(dòng)態(tài)菜單和工具欄的監(jiān)視與擴(kuò)充方法,在視窗環(huán)境下對(duì)具有動(dòng)態(tài)菜單和工具欄的應(yīng)用程序,如Office 2000系列文書應(yīng)用程序,監(jiān)視與即時(shí)了解使用者對(duì)菜單和工具欄所進(jìn)行的操作,如菜單項(xiàng)和工具欄項(xiàng)的增減、菜單項(xiàng)和工具欄項(xiàng)的修改、菜單項(xiàng)和工具欄項(xiàng)所置放的位置變動(dòng)……等。
本發(fā)明的另一目的,是提供一種動(dòng)態(tài)菜單和工具欄的監(jiān)視與擴(kuò)充方法,使外掛應(yīng)用程序能即時(shí)監(jiān)控菜單和工具欄的變更,并且對(duì)新型動(dòng)態(tài)菜單和工具欄即時(shí)進(jìn)行功能擴(kuò)充、增加附屬功能,如語音讀出滑鼠游標(biāo)所在的菜單或工具欄名稱、菜單或工具欄內(nèi)容的漢化、顯示標(biāo)志……等。
本發(fā)明提供的一種動(dòng)態(tài)菜單和工具欄的監(jiān)視與擴(kuò)充方法,用以擴(kuò)充菜單和工具欄的內(nèi)容與功能,該方法包括有產(chǎn)生一當(dāng)前目標(biāo)鏈接與嵌入伺服端的分發(fā),該分發(fā)是以目標(biāo)鏈接與嵌入自動(dòng)化方式由該當(dāng)前目標(biāo)鏈接與嵌入伺服端所生成;取得擴(kuò)充前的菜單和工具欄資料;置放該菜單和工具欄資料于一原有菜單和工具欄資料結(jié)構(gòu)表內(nèi);啟動(dòng)攔截程序,以從作業(yè)系統(tǒng)的訊息隊(duì)列攔截使用者動(dòng)作資料;取得使用者動(dòng)作資料;搜尋該原有菜單和工具欄資料結(jié)構(gòu)表,并對(duì)使用者動(dòng)作資料進(jìn)行比較,以獲得當(dāng)前滑鼠游標(biāo)所在的菜單或工具欄資料;判斷當(dāng)前滑鼠游標(biāo)所在的菜單或工具欄是否為需要功能擴(kuò)充的菜單或工具欄,當(dāng)菜單和工具欄不需功能擴(kuò)充,呼叫原有功能;當(dāng)菜單和工具欄需要功能擴(kuò)充,則進(jìn)行下一步驟;以及進(jìn)行功能的擴(kuò)充。
有關(guān)本發(fā)明的詳細(xì)技術(shù)內(nèi)容,將結(jié)合實(shí)施例參考
如后。
附圖簡(jiǎn)要說明圖1是為本發(fā)明的步驟流程圖;圖2是為本發(fā)明產(chǎn)生分發(fā)并取得菜單和工具欄資料的詳細(xì)步驟流程圖;圖3是為本發(fā)明啟動(dòng)攔截程序以攔截并取得使用者動(dòng)作資料的詳細(xì)步驟流程圖;圖4是為本發(fā)明進(jìn)行搜尋并比較以獲得當(dāng)前滑鼠游標(biāo)所在的菜單或工具欄資料的詳細(xì)步驟流程圖。
本發(fā)明提供一種動(dòng)態(tài)菜單和工具欄的監(jiān)視與擴(kuò)充方法,其功能模塊請(qǐng)參閱圖1所示。本發(fā)明的詳細(xì)步驟包括有首先借由目標(biāo)鏈接與嵌入(Object linking & embedding,簡(jiǎn)稱OLE)伺服端的初始化來取得擴(kuò)充前的菜單和工具欄的內(nèi)容和位置,其步驟為1.產(chǎn)生一當(dāng)前目標(biāo)鏈接與嵌入伺服端的分發(fā),其是以目標(biāo)鏈接與嵌入自動(dòng)化(OLE Automation)方式生成當(dāng)前目標(biāo)鏈接與嵌入伺服端的一客戶端(Client)為分發(fā)(Dispatch);
2.取得擴(kuò)充前的菜單和工具欄資料,借由對(duì)經(jīng)由上一步驟所得的分發(fā),按照命令欄群(Command Bars)、命令欄(Command Bar)、命令欄控制項(xiàng)群(Command Bar Controls)以及命令欄控制項(xiàng)(Command Bar Control)(該命令欄控制項(xiàng)又分為命令欄按鈕(Command Bar Button)與命令欄彈出視窗(Command Bar Popup))逐層逐一處理,意即,先取得菜單的命令欄群和工具欄的命令欄控制項(xiàng)群,再逐一取得命令欄群的各命令欄與命令欄控制項(xiàng)群的各命令欄控制項(xiàng),而可得到當(dāng)前應(yīng)用程序在擴(kuò)充前的菜單和工具欄資料;3.把所取得的擴(kuò)充前的菜單和工具欄資料,置入一原有菜單和工具欄資料結(jié)構(gòu)表內(nèi),以供進(jìn)一步處理程序的索引;4.接著啟動(dòng)攔截(Hook)程序,以從作業(yè)系統(tǒng)中的訊息隊(duì)列(Messagequeue)攔截使用者動(dòng)作資料,該訊息排隊(duì)是一個(gè)系統(tǒng)循環(huán),在作業(yè)系統(tǒng)(視窗作業(yè)系統(tǒng))中所有的事件處理都是通過訊息來驅(qū)動(dòng)的,所有的訊息都需進(jìn)入訊息循環(huán)后,再分發(fā)給后續(xù)的程序,當(dāng)滑鼠游標(biāo)位于菜單或工具欄上時(shí),攔截程序會(huì)從消息隊(duì)列截獲到相應(yīng)的使用者動(dòng)作資料;5.取得使用者動(dòng)作資料,這些使用者動(dòng)作資料包括有當(dāng)前彈出菜單的句柄(Handle)、當(dāng)前彈出菜單的名稱、當(dāng)前工具欄的句柄、當(dāng)前工具欄的名稱以及滑鼠游標(biāo)的位置……等等,以得知當(dāng)前滑鼠游標(biāo)所在的位置是為菜單的那一命令欄或工具欄的那一命令欄控制項(xiàng);6.搜尋該原有菜單和工具欄資料結(jié)構(gòu)表,并對(duì)使用者動(dòng)作資料進(jìn)行比較,以得知當(dāng)前被彈開的菜單或當(dāng)前工具欄是那一個(gè)菜單的那一項(xiàng)或那一工具欄的那一項(xiàng);7.判斷當(dāng)前滑鼠游標(biāo)所在的菜單或工具欄是否為需要功能擴(kuò)充的菜單或工具欄,當(dāng)菜單和工具欄不需功能擴(kuò)充,呼叫原有功能;當(dāng)菜單和工具欄需要功能擴(kuò)充,則進(jìn)行下一步驟;以及8.?dāng)U充菜單和工具欄的功能,由處理程序執(zhí)行相對(duì)的功能擴(kuò)充處理,亦可輔以在顯示器畫面上顯示一進(jìn)行功能擴(kuò)充的標(biāo)志提醒使用者,完成菜單和工具欄功能的擴(kuò)充。
再請(qǐng)參閱圖2所示,其是本發(fā)明產(chǎn)生分發(fā)并取得菜單和工具欄資料的詳細(xì)步驟流程圖。本發(fā)明借由目標(biāo)鏈接與嵌入伺服端的初始化來取得擴(kuò)充前的菜單和工具欄的內(nèi)容和位置的詳細(xì)步驟,包括有
1.判斷當(dāng)前目標(biāo)鏈接與嵌入伺服端是否支援分發(fā),也就是說,判斷該當(dāng)前目標(biāo)鏈接與嵌入伺服端是否可執(zhí)行目標(biāo)鏈接與嵌入伺服端自動(dòng)化、是否能產(chǎn)生一客戶端,當(dāng)該目標(biāo)鏈接與嵌入伺服端支援分發(fā),進(jìn)行下一步驟;當(dāng)該目標(biāo)鏈接與嵌入伺服端不支援分發(fā),則結(jié)束分發(fā);2.產(chǎn)生一分發(fā),當(dāng)該目標(biāo)鏈接與嵌入伺服端支援分發(fā)時(shí),則實(shí)例化一個(gè)相應(yīng)的應(yīng)用程序?qū)ο?Application),而生成一個(gè)可詢?cè)L該目標(biāo)鏈接與嵌入伺服端的客戶端,該客戶端即為該目標(biāo)鏈接與嵌入伺服端的分發(fā);3.連接該分發(fā)至該目標(biāo)鏈接與嵌入伺服端,借由生成一詢?cè)L接口,將該分發(fā)連接至該目標(biāo)鏈接與嵌入伺服端;4.取得菜單的命令欄群與工具欄的命令欄控制項(xiàng)群,以得到當(dāng)前欲監(jiān)控的分發(fā)的命令欄群與命令欄控制項(xiàng)群;5.逐一取得該命令欄群中的各命令欄與該命令欄控制項(xiàng)群的各命令欄控制項(xiàng),在取得菜單的命令欄群與工具欄的命令欄控制項(xiàng)群后,對(duì)命令欄群中的各命令欄與命令欄控制項(xiàng)群的各命令欄控制項(xiàng)逐層依照排列順序取出;以及6.逐一取出該命令欄與該命令欄控制項(xiàng)的資料,取得命令欄與命令欄控制項(xiàng)后,通過目標(biāo)鏈接與嵌入伺服端的詢?cè)L接口詢?cè)L該目標(biāo)鏈接與嵌入伺服端,讀取各命令欄與命令欄控制項(xiàng)的名稱與標(biāo)示(ID)等資料,得到命令欄與命令欄控制項(xiàng)的資料,例如當(dāng)前應(yīng)用程序包括有多少個(gè)菜單、多少個(gè)工具欄、每個(gè)菜單有多少個(gè)子項(xiàng)、每個(gè)工具欄有多少個(gè)子項(xiàng)、每個(gè)菜單項(xiàng)的名稱與標(biāo)示(ID)以及每個(gè)工具欄項(xiàng)的名稱與標(biāo)示……等等,以存放于原有菜單和工具欄資料結(jié)構(gòu)表內(nèi)。
請(qǐng)參閱圖3所示,其是為本發(fā)明啟動(dòng)攔截程序以攔截并取得使用者動(dòng)作資料的詳細(xì)步驟流程圖。本發(fā)明啟動(dòng)攔截程序以從訊息隊(duì)列攔截并取得使用者動(dòng)作資料的詳細(xì)步驟,包括有1.啟動(dòng)攔截程序;2.?dāng)r截作業(yè)系統(tǒng)的訊息隊(duì)列中的使用者動(dòng)作資料;3.判斷目標(biāo)鏈接與嵌入伺服端是否啟動(dòng),當(dāng)該目標(biāo)鏈接與嵌入伺服端未啟動(dòng),啟動(dòng)該目標(biāo)鏈接與嵌入伺服端(步驟4)并進(jìn)行步驟5;當(dāng)該目標(biāo)鏈接與嵌入伺服端已啟動(dòng),則進(jìn)行步驟5;5.判斷目標(biāo)鏈接與嵌入伺服端是否結(jié)束,當(dāng)該目標(biāo)鏈接與嵌入伺服端已結(jié)束,重回?cái)r截使用者動(dòng)作資料的步驟2;當(dāng)該目標(biāo)鏈接與嵌入伺服端未結(jié)束,則進(jìn)行步驟6;6.接著判斷滑鼠游標(biāo)是否位于菜單或工具欄上,當(dāng)該滑鼠游標(biāo)不位于菜單或工具欄上,重回?cái)r截使用者動(dòng)作資料的步驟2;當(dāng)該滑鼠游標(biāo)位于菜單或工具欄上,則從訊息隊(duì)列取得使用者動(dòng)作資料;以及7.取得滑鼠游標(biāo)所在的彈出菜單或工具欄的名稱,與取得滑鼠游標(biāo)所在的位置(步驟8)。
再請(qǐng)參閱圖4所示,其是為本發(fā)明進(jìn)行搜尋并比較以獲得當(dāng)前滑鼠游標(biāo)所在的菜單或工具欄資料的詳細(xì)步驟流程圖。本發(fā)明搜尋該原有菜單和工具欄資料結(jié)構(gòu)表,并對(duì)使用者動(dòng)作資料進(jìn)行比較,以獲得當(dāng)前滑鼠游標(biāo)所在的菜單或工具欄資料的詳細(xì)步驟,包括有1.逐一取得該原有菜單和工具欄資料結(jié)構(gòu)表中菜單的命令欄與工具欄的命令欄控制項(xiàng)的名稱與索引項(xiàng);2.判斷所取得的命令欄名稱或命令欄控制項(xiàng)名稱是否與攔截程序所得的菜單或工具欄的名稱相同(步驟2),當(dāng)攔截程序所得的菜單或工具欄的名稱與所取得的命令欄名稱或命令欄控制項(xiàng)名稱不同,取下一命令欄名或命令欄控制項(xiàng);當(dāng)攔截程序所得的菜單或工具欄的名稱與所取得的命令欄名稱或命令欄控制項(xiàng)名稱相同,則進(jìn)行步驟3;3.判斷滑鼠游標(biāo)是否位于所取得的命令欄或命令欄控制項(xiàng),當(dāng)滑鼠游標(biāo)不位于所取得的命令欄或命令欄控制項(xiàng),重回上一步驟;當(dāng)滑鼠游標(biāo)是位于所取得的命令欄或命令欄控制項(xiàng),則進(jìn)行步驟4;4.判斷滑鼠游標(biāo)所在的彈出菜單或工具欄的索引項(xiàng)與所取得的命令欄或命令欄控制項(xiàng)的索引項(xiàng)是否相同,當(dāng)滑鼠游標(biāo)所在的彈出菜單或工具欄的索引項(xiàng)與所取得的命令欄或命令欄控制項(xiàng)的索引項(xiàng)不同,重回取命令欄與命令欄控制項(xiàng)的名稱與索引項(xiàng)的步驟1;當(dāng)滑鼠游標(biāo)所在的彈出菜單或工具欄的索引項(xiàng)與所取得的命令欄或命令欄控制項(xiàng)的索引項(xiàng)相同,則進(jìn)行步驟5;以及5.取得當(dāng)前滑鼠游標(biāo)所在的菜單或工具欄的名稱與索引項(xiàng)。
本發(fā)明提供一種動(dòng)態(tài)菜單和工具欄的監(jiān)視與擴(kuò)充方法,可即時(shí)監(jiān)視了解使用者對(duì)新型動(dòng)態(tài)菜單和工具欄所進(jìn)行的操作,如使用者滑鼠當(dāng)前在位于那一個(gè)菜單的那一項(xiàng)或那一個(gè)工具欄的那一項(xiàng)、使用者對(duì)菜單或工具欄的增減、使用者自行定義的菜單或工具欄、菜單或工具欄位置的變更……等,并且能使外掛應(yīng)用程序?qū)π滦蛣?dòng)態(tài)菜單和工具欄即時(shí)進(jìn)行功能擴(kuò)充、增加附屬功能,如語音讀出滑鼠游標(biāo)所在的菜單或工具欄名稱、菜單或工具欄內(nèi)容的漢化、顯示標(biāo)志……等。
權(quán)利要求
1.一種動(dòng)態(tài)菜單和工具欄的監(jiān)視與擴(kuò)充方法,用以擴(kuò)充菜單和工具欄的內(nèi)容與功能,其特征是該方法包括有產(chǎn)生一當(dāng)前目標(biāo)鏈接與嵌入伺服端的分發(fā),該分發(fā)是以目標(biāo)鏈接與嵌入自動(dòng)化方式由該當(dāng)前目標(biāo)鏈接與嵌入伺服端所生成;取得擴(kuò)充前的菜單和工具欄資料;置放該菜單和工具欄資料于一原有菜單和工具欄資料結(jié)構(gòu)表內(nèi);啟動(dòng)攔截程序,以從作業(yè)系統(tǒng)的訊息隊(duì)列攔截使用者動(dòng)作資料;取得使用者動(dòng)作資料;搜尋該原有菜單和工具欄資料結(jié)構(gòu)表,并對(duì)使用者動(dòng)作資料進(jìn)行比較,以獲得當(dāng)前滑鼠游標(biāo)所在的菜單或工具欄資料;判斷當(dāng)前滑鼠游標(biāo)所在的菜單或工具欄是否為需要功能擴(kuò)充的菜單或工具欄,當(dāng)菜單和工具欄不需功能擴(kuò)充,呼叫原有功能;當(dāng)菜單和工具欄需要功能擴(kuò)充,則進(jìn)行下一步驟;以及進(jìn)行功能的擴(kuò)充。
2.如權(quán)利要求1所述的動(dòng)態(tài)菜單和工具欄的監(jiān)視與擴(kuò)充方法,其特征是該菜單和工具欄資料包括有當(dāng)前應(yīng)用程序有多少個(gè)菜單、當(dāng)前應(yīng)用程序有多少個(gè)工具欄、每個(gè)菜單有多少個(gè)子項(xiàng)、每個(gè)工具欄有多少個(gè)子項(xiàng)、每個(gè)菜單項(xiàng)的名稱與標(biāo)示以及每個(gè)工具欄項(xiàng)的名稱與標(biāo)示。
3.如權(quán)利要求1所述的動(dòng)態(tài)菜單和工具欄的監(jiān)視與擴(kuò)充方法,其特征是該使用者動(dòng)作資料包括有當(dāng)前彈出菜單的句柄、當(dāng)前彈出菜單的名稱、當(dāng)前工具欄的句柄、當(dāng)前工具欄的名稱以及滑鼠游標(biāo)的位置。
4.如權(quán)利要求1所述的動(dòng)態(tài)菜單和工具欄的監(jiān)視與擴(kuò)充方法,其特征是產(chǎn)生該分發(fā)的步驟更進(jìn)一步包括下列步驟判斷當(dāng)前目標(biāo)鏈接與嵌入伺服端是否支援分發(fā),當(dāng)該目標(biāo)鏈接與嵌入伺服端支援分發(fā),進(jìn)行下一步驟;當(dāng)該目標(biāo)鏈接與嵌入伺服端不支援分發(fā),則結(jié)束分發(fā);產(chǎn)生一分發(fā),其是為該目標(biāo)鏈接與嵌入伺服端的客戶端;以及連接該分發(fā)至該目標(biāo)鏈接與嵌入伺服端。
5.如權(quán)利要求1所述的動(dòng)態(tài)菜單和工具欄的監(jiān)視與擴(kuò)充方法,其特征是取得擴(kuò)充前的菜單和工具欄資料的步驟,更進(jìn)一步包括下列步驟取得菜單的命令欄群與工具欄的命令欄控制項(xiàng)群;逐一取得該命令欄群中的各命令欄與該命令欄控制項(xiàng)群的各命令欄控制項(xiàng);以及逐一取出該命令欄與該命令欄控制項(xiàng)的資料。
6.如權(quán)利要求1所述的動(dòng)態(tài)菜單和工具欄的監(jiān)視與擴(kuò)充方法,其特征是啟動(dòng)攔截程序以從訊息隊(duì)列攔截使用者動(dòng)作資料的步驟,更進(jìn)一步包括下列步驟啟動(dòng)攔截程序;攔截作業(yè)系統(tǒng)的訊息隊(duì)列中的使用者動(dòng)作資料;判斷目標(biāo)鏈接與嵌入伺服端是否啟動(dòng),當(dāng)該目標(biāo)鏈接與嵌入伺服端未啟動(dòng),啟動(dòng)該目標(biāo)鏈接與嵌入伺服端并進(jìn)行下一步驟;當(dāng)該目標(biāo)鏈接與嵌入伺服端已啟動(dòng),則進(jìn)行下一步驟;判斷目標(biāo)鏈接與嵌入伺服端是否結(jié)束,當(dāng)該目標(biāo)鏈接與嵌入伺服端已結(jié)束,重回?cái)r截使用者動(dòng)作資料的步驟;當(dāng)該目標(biāo)鏈接與嵌入伺服端未結(jié)束,則進(jìn)行下一步驟;以及判斷滑鼠游標(biāo)是否位于菜單或工具欄上,當(dāng)該滑鼠游標(biāo)不位于菜單或工具欄上,重回?cái)r截使用者動(dòng)作資料的步驟;當(dāng)該滑鼠游標(biāo)位于菜單或工具欄上,則進(jìn)行取得使用者動(dòng)作資料的步驟。
7.如權(quán)利要求1所述的動(dòng)態(tài)菜單和工具欄的監(jiān)視與擴(kuò)充方法,其特征是取得使用者動(dòng)作資料的步驟,更進(jìn)一步包括下列步驟取得滑鼠游標(biāo)所在的彈出菜單或工具欄的名稱;以及取得滑鼠游標(biāo)所在的位置。
8.如權(quán)利要求1所述的動(dòng)態(tài)菜單和工具欄的監(jiān)視與擴(kuò)充方法,其特征是搜尋該原有菜單和工具欄資料結(jié)構(gòu)表,并對(duì)使用者動(dòng)作資料進(jìn)行比較,以獲得當(dāng)前滑鼠游標(biāo)所在的菜單或工具欄資料的步驟,更進(jìn)一步包括下列步驟逐一取得該原有菜單和工具欄資料結(jié)構(gòu)表中菜單的命令欄與工具欄的命令欄控制項(xiàng)的名稱與索引項(xiàng),并判斷所取得的命令欄名稱或命令欄控制項(xiàng)名稱是否與攔截程序所得的菜單或工具欄的名稱相同,當(dāng)欄截程序所得的菜單或工具欄的名稱與所取得的命令欄名稱或命令欄控制項(xiàng)名稱不同,取下一命令欄名稱或命令欄控制項(xiàng);當(dāng)攔截程序所得的菜單或工具欄的名稱與所取得的命令欄名稱或命令欄控制項(xiàng)名稱相同,則進(jìn)行下一步驟;判斷滑鼠游標(biāo)是否位于所取得的命令欄或命令欄控制項(xiàng),當(dāng)滑鼠游標(biāo)不位于所取得的命令欄或命令欄控制項(xiàng),重回上一步驟;當(dāng)滑鼠游標(biāo)是位于所取得的命令欄或命令欄控制項(xiàng),則進(jìn)行下一步驟;判斷滑鼠游標(biāo)所在的彈出菜單或工具欄的索引項(xiàng)與所取得的命令欄或命令欄控制項(xiàng)的索引項(xiàng)是否相同,當(dāng)滑鼠游標(biāo)所在的彈出菜單或工具欄的索引項(xiàng)與所取得的命令欄或命令欄控制項(xiàng)的索引項(xiàng)不同,重回取命令欄與命令欄控制項(xiàng)的名稱與索引項(xiàng)的步驟;當(dāng)滑鼠游標(biāo)所在的彈出菜單或工具欄的索引項(xiàng)與所取得的命令欄或命令欄控制項(xiàng)的索引項(xiàng)相同,則進(jìn)行下一步驟;以及取得當(dāng)前滑鼠游標(biāo)所在的菜單或工具欄的名稱與索引項(xiàng)。
全文摘要
本發(fā)明是有關(guān)于一種動(dòng)態(tài)菜單和工具欄的監(jiān)視與擴(kuò)充方法,透過建立原有菜單和工具欄資料,并利用攔截程序從作業(yè)系統(tǒng)的訊息隊(duì)列攔截使用者動(dòng)作資料,以進(jìn)行比較判斷,可即時(shí)監(jiān)視了解使用者對(duì)新型動(dòng)態(tài)菜單和工具欄所進(jìn)行的操作,并且根據(jù)使用者對(duì)菜單和工具欄的即時(shí)操作,進(jìn)行外掛應(yīng)用程序的功能擴(kuò)充、增加附屬功能。
文檔編號(hào)G06F9/318GK1310383SQ00102290
公開日2001年8月29日 申請(qǐng)日期2000年2月22日 優(yōu)先權(quán)日2000年2月22日
發(fā)明者林光信, 宋建福, 魏永杰 申請(qǐng)人:英業(yè)達(dá)股份有限公司