亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于Web應(yīng)用的ActiveX組件的復(fù)用方法

文檔序號:6612232閱讀:188來源:國知局
專利名稱:基于Web應(yīng)用的ActiveX組件的復(fù)用方法
技術(shù)領(lǐng)域
本發(fā)明涉及通訊領(lǐng)域,具體地涉及基于Web的應(yīng)用軟件客戶端 以及ActiveX組件:技術(shù)。
背景技術(shù)
隨著IP網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,分布式計算機(jī)系統(tǒng)逐漸應(yīng)用到各 個領(lǐng)域之中。在分布式計算機(jī)系統(tǒng)中,基于Web的應(yīng)用方式越來越 多。所有與界面以及業(yè)務(wù)邏輯相關(guān)的程序以Web頁面方式存放在服 務(wù)器上,在客戶端上只需要包含一個Web瀏覽器,將操作界面展現(xiàn) 給用戶。正因為主要的業(yè)務(wù)邏輯以及操作界面都在服務(wù)器端的Web 頁面程序?qū)崿F(xiàn),真正體現(xiàn)了一種"瘦"客戶端的思想,更便于操作 界面的定制和修改以及業(yè)務(wù)功能的開發(fā)和維護(hù)。在基于Web的應(yīng)用軟件中,通常的做法是在客戶端嵌入一個 Web瀏覽器,負(fù)責(zé)Web頁面的下載、解碎斤和顯示,4旦是Web頁面 代碼往往需要與客戶端本地程序進(jìn)行信息交互。通常,可在Web頁面代碼中調(diào)用ActiveX組件的成員函數(shù),再 由ActiveX組件向客戶端的本地窗口發(fā)送消息的方式實現(xiàn)Web頁面 與本機(jī)程序的信息交互。但是,由于ActiveX組件只有在Web頁面 加載時創(chuàng)建,并且附屬于Web瀏覽器內(nèi)核窗口,通過窗口的乂人屬關(guān) 系無法找到當(dāng)前客戶端程序的指定窗口。」接照正常的實現(xiàn)方法,將 當(dāng)前客戶端禾呈序中4妄收ActiveX組件消息的窗口名稱固定為一個字
符串,ActiveX控件在發(fā)送消息之前以這個固定字符串為窗口名稱 找到該窗口 ,向該窗口發(fā)送消息即可。由于這個ActiveX組4牛向名 稱固定的窗口發(fā)送消息,帶來的問題是這個ActiveX組件只能用于 當(dāng)前的客戶端中,不能作為一個通用的ActiveX通訊組件同時為其 他基于Web的應(yīng)用軟件客戶端提供信息交互接口 。發(fā)明內(nèi)容考慮到上述問題而做出本發(fā)明,為此,本發(fā)明的主要目的在于 4是供一種基于Web應(yīng)用的ActiveX紐J牛的復(fù)用方法,4吏Web頁面與 本機(jī)程序信息交互模塊化、通用化,實現(xiàn)不同客戶端之間的模塊復(fù)用。才艮據(jù)本發(fā)明的基于Web應(yīng)用的ActiveX組件的復(fù)用方法,包括 步驟S102,在基于Web應(yīng)用的客戶端初始化客戶端的窗口時,讀 取客戶端在操作系統(tǒng)中占用的進(jìn)程編號,并將讀取到的進(jìn)程編號設(shè) 置為窗口名稱、;步艱《S104,客戶端的窗口啟動Web頁面,獲耳又Web 頁面的代碼,并才艮據(jù)ActiveX組件的標(biāo)識將ActiveX組件力口載到Web 頁面中;以及步驟S106, Web頁面的代碼調(diào)用ActiveX組件的寫入 或讀取函數(shù),由該寫入或讀取函數(shù)根據(jù)該進(jìn)程編號查找到窗口,從 而對窗口進(jìn)行信息內(nèi)容的寫入或讀取。在步驟S106中,在寫入時包括以下處理Web頁面的代碼調(diào) 用ActiveX組件的寫入函數(shù),寫入函數(shù)的參數(shù)為需要寫入到客戶端 的信息內(nèi)容;寫入函數(shù)獲取客戶端的進(jìn)程編號,根據(jù)進(jìn)程編號查找 窗口,并向窗口傳遞需要寫入的信息內(nèi)容;以及在讀取時包括以下 處理Web頁面的代碼調(diào)用ActiveX組件的讀取函數(shù),讀耳又函數(shù)的 參數(shù)為需要從客戶端讀取的信息內(nèi)容;讀取函數(shù)獲取客戶端的進(jìn)程 編號,根據(jù)進(jìn)程編號查找窗口,并將窗口中獲取需要讀取的信息內(nèi) 容傳遞給Web頁面的代碼。
在該方法的步驟S104中,進(jìn)一步包括客戶端的窗口啟動Web 瀏覽器,設(shè)置Web服務(wù)器的地址,4艮據(jù)地址從Web服務(wù)器獲取并 解析Web頁面,獲得Web頁面的代碼。此外,在該方法中,在進(jìn)行寫入時,在查找到窗口之后進(jìn)一步 包括Web頁面向窗口發(fā)送寫入同步消息,寫入同步消息中具有需 要寫入的信息內(nèi)容的標(biāo)識,并且根據(jù)需要寫入的信息內(nèi)容的標(biāo)識傳 遞需要寫入的信息內(nèi)容。此外,在該方法中,需要寫入的信息內(nèi)容的標(biāo)識為指向需要寫 入的信息內(nèi)容的指針。此外,在該方法中,在進(jìn)行讀取時,在查找到窗口之后進(jìn)一步 包4舌Web頁面向窗口發(fā)送讀取同步消息,讀耳又同步消息中具有需 要讀取的信息內(nèi)容的標(biāo)識,客戶端將需要讀取的信息內(nèi)容添加到需 要讀取的信息內(nèi)容的標(biāo)識中,從窗口中獲取需要讀取的信息內(nèi)容。此外,在該方法中,需要讀取的信息內(nèi)容的標(biāo)識為指向需要讀 取的信息內(nèi)容的指針。此外,在該方法中,ActiveX組件的標(biāo)識為全局唯一標(biāo)識符。通過本發(fā)明的上述4支術(shù)方案,實現(xiàn)了 Web頁面與本積i程序信息 交互ActiveX組件的模塊化、通用化、和簡單化,達(dá)到多客戶端的 復(fù)用效果,從而節(jié)約了軟、硬件資源。本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部 分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā) 明的目的和其^f也優(yōu)點可通過在所寫的i兌明書、斥又利要求書、以及附 圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。


此處所說明的附圖用來^是供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申 請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中件的復(fù)用方法的流程圖;以及圖2是示出了才艮據(jù)本發(fā)明實施例的Web頁面通過ActiveX通訊 組件讀耳又和寫入信息的交互流程圖。
具體實施方式
以下結(jié)合附圖對本發(fā)明的優(yōu)選實施例進(jìn)行說明,應(yīng)當(dāng)理解,此 處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本 發(fā)明。本發(fā)明提供了一種采用ActiveX通訊組件實現(xiàn)Web頁面與本地 程序信息交互的方法,更重要的是該ActiveX控件可以同時4皮多個 Web客戶端復(fù)用。Web頁面與本機(jī)程序(客戶端)的信息交互方式分為寫入和讀 耳又兩種,下面分別4笛述(1 )寫入Web頁面 碼調(diào)用ActiveX通ifL組件的寫入函#t, 參數(shù)為需要傳遞給本機(jī)程序的信息內(nèi)容。ActiveX通訊組件的寫入 函數(shù)首先獲取到當(dāng)前的進(jìn)程編號,并將進(jìn)程編號作為窗口名稱找到 接收消息的窗口,向該窗口發(fā)送同步消息,消息參數(shù)為一個指針, 指向信息內(nèi)容??蛻舳舜翱诮邮盏较⒑?,從以消息參數(shù)傳送過來 的指針中獲取信息內(nèi)容進(jìn)行相關(guān)處理; (2)讀耳又Web頁面代碼調(diào)用ActiveX通訊組件的讀耳又函凄史, 參數(shù)為讀取的信息名稱,返回值即為讀取的信息內(nèi)容。ActiveX通 訊組件的讀取函數(shù)首先獲取到當(dāng)前的進(jìn)程編號,并將進(jìn)程編號作為 窗口名稱找到^妄收消息的窗口,向該窗口發(fā)送同步消息,消息參數(shù)為一個指針??蛻舳舜翱?妄收到消息后,讀耳又本地內(nèi)容,填寫到以 消息參數(shù)傳送過來的指針中即可。ActiveX通訊組件發(fā)送消息成功 后,將指'圖1件的復(fù)用方法的流程圖。如圖1所示,包括步驟S102,在基于Web應(yīng)用的客戶端初 始4匕客戶端的窗口時,讀取客戶端在才喿作系統(tǒng)中占用的進(jìn)禾呈編號, 并將讀取到的進(jìn)程編號設(shè)置為窗口名稱;步驟S104,客戶端的窗口 啟動Web頁面,獲取Web頁面的4戈碼,并4艮據(jù)ActiveX組件的標(biāo)識 將ActiveX組件加載到Web頁面中;以及步驟S106, Web頁面的 代碼調(diào)用ActiveX組件的寫入或讀取函數(shù),由該寫入或讀取函數(shù)根 據(jù)該進(jìn)程編號查找到窗口 ,從而對窗口進(jìn)行信息內(nèi)容的寫入或讀取。其中,在寫入時具體可以包括以下處理Web頁面的代碼調(diào)用 ActiveX組件的寫入函數(shù),寫入函數(shù)的參數(shù)為需要寫入到客戶端的 信息內(nèi)容;寫入函數(shù)獲取客戶端的進(jìn)程編號,#4居進(jìn)程編號查找窗 口,并向窗口傳遞需要寫入的信息內(nèi)容。另一方面,在讀取時可以包4舌以下處理Web頁面的代7馬調(diào)用 ActiveX組件的讀取函數(shù),讀取函數(shù)的參數(shù)為需要從客戶端讀取的 信息內(nèi)容;讀取函數(shù)獲取客戶端的進(jìn)程編號,根據(jù)進(jìn)程編號查找窗 口 ,并將窗口中獲取需要讀取的信息內(nèi)容傳遞給Web頁面的代碼。
在該方法的步驟S104中,進(jìn)一步包括客戶端的窗口啟動Web 瀏覽器,設(shè)置Web服務(wù)器的地址,才艮據(jù)地址從Web服務(wù)器獲取并 解析Web頁面,獲得Web頁面的代碼。此外,在該方法中,在進(jìn)行寫入時,在查找到窗口之后進(jìn)一步 包括Web頁面向窗口發(fā)送寫入同步消息,寫入同步消息中具有需 要寫入的信息內(nèi)容的標(biāo)識,并且根據(jù)需要寫入的信息內(nèi)容的標(biāo)識傳 遞需要寫入的信息內(nèi)容。此外,在該方法中,需要寫入的信息內(nèi)容的標(biāo)識為指向需要寫 入的信息內(nèi)容的指針。此外,在該方法中,在進(jìn)行讀取時,在查找到窗口之后進(jìn)一步 包括Web頁面向窗口發(fā)送讀取同步消息,讀取同步消息中具有需 要讀取的信息內(nèi)容的標(biāo)識,客戶端將需要讀取的信息內(nèi)容添加到需 要讀取的信息內(nèi)容的標(biāo)識中,從窗口中獲取需要讀取的信息內(nèi)容。此外,在該方法中,需要讀取的信息內(nèi)容的標(biāo)識為指向需要讀 取的信息內(nèi)容的指針。此夕卜,在該方法中,ActiveX組件的標(biāo)識為全局p舉一標(biāo)識符。這里以IPTV PC客戶端庫欠件為例,詳細(xì)i兌明Windows才喿作系統(tǒng) 下Microsoft Visual C+十作為開發(fā)工具的實玉見方法?;赪eb應(yīng)用的 客戶端程序包含主程序(客戶端)窗口 、 Web瀏覽器(Internet Explorer 瀏覽器組件)和ActiveX通"Wi且件三個才莫塊。圖2是示出了才艮據(jù)本發(fā)明實施例的Web頁面通過ActiveX通訊 組件讀取和寫入信息的交互流程圖。
如圖2所示,其中,主程序窗口實現(xiàn)本機(jī)的一些界面顯示以及 接收和處理ActiveX通訊組件發(fā)送過來的消息;Web瀏覽器按照主 控窗口i殳置的"良務(wù)器地址下載并解析、展示W(wǎng)eb頁面;ActiveX通 訊組件由Web頁面調(diào)用相關(guān)4妄口負(fù)責(zé)與主控窗口之間的消息通ifl 。參照以上系統(tǒng)才莫型,本發(fā)明包4舌以下步艱《步艱《S202,客戶端主禾呈序窗口名稱i殳置客戶端程序啟動時,在主窗口 (窗口)初始化函數(shù)中,(本機(jī)主 考呈序,即,客戶端主禾呈序)調(diào)用Windows API函凄t GetCurrentProcessId 獲耳又當(dāng)前進(jìn)程編號,該編號一4殳為4位的凄t字,例如2068,將其 轉(zhuǎn)換為字符串后設(shè)置為窗口名稱;步艱《S204, Web頁面以及ActiveX通訊組件加載客戶端主窗口啟動Web瀏覽器,并設(shè)置Web服務(wù)器地址。Web 瀏覽器乂人Web力良務(wù)器上下載、解析Web頁面,然后4艮據(jù)Web頁面 代碼加載ActiveX組件;步驟S206, Web頁面與主程序窗口之間的信息交互Web頁面與主禾呈序窗口之間的4言息交互分為寫入和讀取兩種, 下面分別描述(1 )寫入如圖2所示,Web頁面代碼直接調(diào)用ActiveX通訊 組件的Write函數(shù),參數(shù)為需要傳遞給主窗口的信息內(nèi)容。ActiveX 通訊組件在Write函數(shù)中首先調(diào)用 Windows API 函數(shù) GetCurrentProcessId獲取當(dāng)前進(jìn)程編號,此時讀取到的編號應(yīng)為 2068,然后以該進(jìn)禾呈編號作為窗口名-爾調(diào)用Windows API函凄t FindWindow得到主窗口句柄,4妾下來再調(diào)用Windows API函凄史 SendMessage向主窗口發(fā)送同步消息,消息參凄史為指向4言息內(nèi)容的 指針。主窗口接收到消息后,從消息參數(shù)中取出信息內(nèi)容即可進(jìn)行 相關(guān)處J里;(2 )讀耳又如圖2所示,Web頁面^碼直接^調(diào)用ActiveX通訊 組件的Read函數(shù),參數(shù)為需要從本機(jī)讀取的信息類型,返回值為讀 耳又到的信息內(nèi)容。ActiveX通訊組件在Read函f丈中同樣首先調(diào)用 Windows API函數(shù)GetCurrentProcessId獲取當(dāng)前進(jìn)程編號,此時讀 耳又到的編號應(yīng)為2068,然后以該進(jìn)考呈編號作為窗口名^f爾調(diào)用 Windows API函凄丈FindWindow 4尋到主窗口句才丙,4妄下來再調(diào)用 Windows API函凄t SendMessage向主窗口發(fā)送同步消息,消息參凝: 為指向一個結(jié)構(gòu)的指針。該結(jié)構(gòu)包含需要讀取的信息類型和分配好的地址空間。主窗口接收到消息后,從消息參數(shù)的結(jié)構(gòu)指針中取出 信息類型,讀取本機(jī)的信息后填入到結(jié)構(gòu)指針中分配好的地址空間。 ActiveX通訊組件調(diào)用SendMessage函ft返回后,將結(jié)構(gòu)指4十中讀 耳又到的內(nèi)容作為Read函凄丈的返回值4專遞主合Web頁面。綜上所述,本發(fā)明實J見了 Web頁面與本才幾禾呈序〗言息交互 ActiveX組件的才莫塊化、通用化、以及簡單化,達(dá)到多客戶端的復(fù) 用效果,/人而節(jié)約了壽欠、碩_件資源。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明, 對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在 本發(fā)明的精神和原則之內(nèi),所作的任何<奮改、等同替換、改進(jìn)等, 均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種基于Web應(yīng)用的ActiveX組件的復(fù)用方法,其特征在于,包括步驟S102,在基于Web應(yīng)用的客戶端初始化所述客戶端的窗口時,讀取所述客戶端在操作系統(tǒng)中占用的進(jìn)程編號,并將讀取到的所述進(jìn)程編號設(shè)置為所述窗口的名稱;步驟S104,所述客戶端的窗口啟動Web頁面,獲取所述Web頁面的代碼,并根據(jù)ActiveX組件的標(biāo)識將所述ActiveX組件加載到所述Web頁面中;以及步驟S106,所述Web頁面的代碼調(diào)用所述ActiveX組件的寫入或讀取函數(shù),由所述寫入或讀取函數(shù)根據(jù)所述進(jìn)程編號查找到所述窗口,從而對所述窗口進(jìn)行信息內(nèi)容的寫入或讀取。
2. 才艮據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S106進(jìn) 一步包括在寫入時包括以下處理所述Web頁面的代碼調(diào)用所述 ActiveX組件的寫入函數(shù),所述寫入函數(shù)的參數(shù)為需要寫入到 所述客戶端的信息內(nèi)容;所述寫入函數(shù)獲取所述進(jìn)程編號,根 據(jù)所述進(jìn)程編號查找所述窗口,并向所述窗口傳遞需要寫入的 所述信息內(nèi)容;以及在讀取時包括以下處理所述Web頁面的代碼調(diào)用所述 ActiveX組件的讀取函數(shù),所述讀取函數(shù)的參數(shù)為需要從所述 客戶端讀取的信息內(nèi)容;所述讀取函數(shù)獲取所述進(jìn)程編號,根 據(jù)所述進(jìn)程編號查找所述窗口 ,并將所述窗口中獲取需要讀取 的所述信息內(nèi)容傳遞給所述Web頁面的代碼。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述步驟S104 中,進(jìn)一步包括所述客戶端的所述窗口啟動Web瀏覽器, 設(shè)置Web服務(wù)器的地址,根據(jù)所述地址從所述Web服務(wù)器獲 取并解析所述Web頁面,獲得所述Web頁面的代碼。
4. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,在進(jìn)行寫入時, 在查找到所述窗口之后進(jìn)一步包括所述Web頁面向所述窗 口發(fā)送寫入同步消息,所述寫入同步消息中具有需要寫入的所 述信息內(nèi)容的標(biāo)識,并且根據(jù)需要寫入的所述信息內(nèi)容的標(biāo)識 傳遞需要寫入的所述信息內(nèi)容。
5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,需要寫入的所述信 息內(nèi)容的標(biāo)識為指向需要寫入的所述信息內(nèi)容的指針。
6. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,在進(jìn)行讀取時, 在查找到所述窗口之后進(jìn)一步包4舌所述Web頁面向所述窗 口發(fā)送讀取同步消息,所述讀取同步消息中具有需要讀取的所 述信息內(nèi)容的標(biāo)識,所述客戶端將需要讀取的所述信息內(nèi)容添 加到需要讀取的所述信息內(nèi)容的標(biāo)識中,從所述窗口中獲取需 要讀取的所述信息內(nèi)容。
7. 根據(jù)權(quán)利要求6所述的方法,其特征在于,需要讀取的所述信 息內(nèi)容的標(biāo)識為指向需要讀取的所述信息內(nèi)容的指針。
8. 根據(jù)權(quán)利要求l、 2、 3、 5或7所述的方法,其特征在于,所 述ActiveX組件的標(biāo)識為全局p眷一標(biāo)識符。
全文摘要
本發(fā)明公開了一種基于Web應(yīng)用的ActiveX組件的復(fù)用方法,包括在基于Web應(yīng)用的客戶端初始化客戶端的窗口時,讀取客戶端在操作系統(tǒng)中占用的進(jìn)程編號,并將讀取到的進(jìn)程編號設(shè)置為窗口名稱;客戶端的窗口啟動Web頁面,獲取Web頁面的代碼,并根據(jù)ActiveX組件的標(biāo)識將ActiveX組件加載到Web頁面中;以及Web頁面的代碼調(diào)用ActiveX組件的寫入或讀取函數(shù),由該寫入或讀取函數(shù)根據(jù)該進(jìn)程編號查找到窗口,從而對窗口進(jìn)行信息內(nèi)容的寫入或讀取。通過本發(fā)明,實現(xiàn)了Web頁面與本機(jī)程序信息交互ActiveX組件的模塊化、通用化、以及簡單化,達(dá)到多客戶端的復(fù)用效果,從而節(jié)約了軟、硬件資源。
文檔編號G06F9/445GK101132413SQ20071015303
公開日2008年2月27日 申請日期2007年9月18日 優(yōu)先權(quán)日2007年9月18日
發(fā)明者鑫 呂, 金曉靜 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1