專利名稱:基于繪圖引擎的屏幕顯示方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于繪圖引擎的屏幕顯示方法。更具體地,本發(fā)明涉及一種基于繪圖引擎的畫中畫屏幕顯示方法。
背景技術(shù):
計(jì)算機(jī)操作系統(tǒng)和應(yīng)用軟件通常不能直接調(diào)用顯示設(shè)備和其中的圖形加速功能,必須通過系統(tǒng)中的一組專用應(yīng)用程序接口(API)來調(diào)用,這就是繪圖引擎。繪圖引擎可以通過顯示設(shè)備驅(qū)動(dòng)程序來操作顯示設(shè)備,可以為操作系統(tǒng)和各種應(yīng)用程序提供各種顯示用接口函數(shù)和顯示功能。
操作系統(tǒng)和應(yīng)用程序不需要知道計(jì)算機(jī)用的是什么顯示設(shè)備,只需要調(diào)用繪圖引擎所提供的接口函數(shù)和功能就能實(shí)現(xiàn)顯示功能,通過這種分工合作,極大地降低了軟件開發(fā)周期和成本。比如需要在顯示器上畫出一個(gè)三維的正方體,不需要程序人員針對(duì)不同的顯卡而寫大段的代碼,只需要調(diào)用繪圖引擎的一組函數(shù)并把一些相關(guān)的參數(shù)分配給它們,由它們來完成這個(gè)功能。目前開放的繪圖引擎主要有微軟提供的DDraw、D3D和IT業(yè)界多家公司共同制定的OPENGL。
但是,當(dāng)前很多需要屏幕繪制的應(yīng)用程序以獨(dú)占全屏模式運(yùn)行,由于繪圖引擎獨(dú)占全屏模式的繪圖特性的干擾,如果一個(gè)使用繪圖引擎獨(dú)占全屏模式繪制的應(yīng)用程序正在運(yùn)行,則其它任何同樣需要在顯示器屏幕繪制的應(yīng)用程序就無法正?;虿荒茱@示其內(nèi)容或界面。
發(fā)明內(nèi)容
因此,為克服上述技術(shù)問題而提出了本發(fā)明。本發(fā)明的目的是提供一種基于繪圖引擎的畫中畫屏幕顯示方法,能在使用繪圖引擎獨(dú)占全屏繪圖模式繪制的畫面之上,顯示其它應(yīng)用程序的窗體。
本發(fā)明的另一目的是,提供一種基于繪圖引擎的畫中畫屏幕顯示方法,能在使用繪圖引擎獨(dú)占全屏繪圖模式繪制的畫面之上,顯示其它應(yīng)用程序的窗體并與其自由交互。
為此目的,本發(fā)明提供一種基于繪圖引擎的畫中畫屏幕顯示方法,用于在使用繪圖引擎獨(dú)占全屏繪圖模式繪制的第二應(yīng)用程序(P2)的畫面之上顯示第一應(yīng)用程序(P1)的窗口,該方法包括下列步驟在第一應(yīng)用程序(P1)中設(shè)置系統(tǒng)消息掛鉤,以便獲取第二應(yīng)用程序(P2)所使用的繪圖引擎的圖形繪制接口地址和屬性設(shè)置接口地址,用重新實(shí)現(xiàn)的圖形繪制接口和屬性設(shè)置接口來替換原有接口;所述重新實(shí)現(xiàn)的屬性設(shè)置接口獲取繪圖引擎的繪制模式,當(dāng)繪制模式為“非拷貝模式”時(shí),將其修改為“拷貝模式”;更改第二應(yīng)用程序(P2)的窗口消息處理過程以屏蔽“失去焦點(diǎn)”消息;由重新實(shí)現(xiàn)的圖形繪制接口獲取第一應(yīng)用程序(P1)的窗口圖形數(shù)據(jù)和第二應(yīng)用程序(P2)的繪屏數(shù)據(jù),并疊加這兩部分?jǐn)?shù)據(jù);以及使繪圖引擎按原有圖形繪制接口在屏幕上繪制疊加后的混合數(shù)據(jù)。
下面將參照在附圖中所表示的非限制性實(shí)施例來進(jìn)一步說明本發(fā)明,其中圖1示出根據(jù)本發(fā)明的基于繪圖引擎的畫中畫屏幕顯示方法的詳細(xì)流程圖。
圖2示出根據(jù)本發(fā)明的基于繪圖引擎的畫中畫屏幕顯示方法的分層處理關(guān)系示意圖。
圖3示出采用根據(jù)本發(fā)明的基于繪圖引擎的畫中畫屏幕顯示方法顯示的應(yīng)用程序窗體的實(shí)際運(yùn)行效果示意圖。
圖4示出采用根據(jù)本發(fā)明的基于繪圖引擎的畫中畫屏幕顯示方法顯示的應(yīng)用程序窗體的另一實(shí)際運(yùn)行效果示意圖。
具體實(shí)施例方式
圖1示出根據(jù)本發(fā)明的基于繪圖引擎的畫中畫屏幕顯示方法的詳細(xì)流程圖。根據(jù)該流程圖,如果應(yīng)用程序P1要使用本方法來顯示畫中畫效果,而應(yīng)用程序P2使用繪圖引擎E1并以獨(dú)占全屏模式顯示,則本發(fā)明的基于繪圖引擎的畫中畫屏幕顯示方法第一步首先在應(yīng)用程序P1中設(shè)置系統(tǒng)消息掛鉤(圖1.A),以便P1在“全屏P2”啟動(dòng)時(shí)能夠獲取P2的進(jìn)程地址。
掛鉤是操作系統(tǒng)中消息處理機(jī)制的一個(gè)要點(diǎn),通過安裝各種掛鉤,應(yīng)用程序能夠設(shè)置相應(yīng)的子例程來監(jiān)視系統(tǒng)里的消息傳遞以及在這些消息到達(dá)目標(biāo)窗口程序之前處理它們。掛鉤的種類很多,每種掛鉤可以截獲并處理相應(yīng)的消息,如鍵盤掛鉤可以截獲鍵盤消息,鼠標(biāo)掛鉤可以截獲鼠標(biāo)消息,外殼掛鉤可以截獲啟動(dòng)和關(guān)閉應(yīng)用程序的消息,日志掛鉤可以監(jiān)視和記錄輸入事件。掛鉤分為線程專用掛鉤和全局掛鉤,線程專用掛鉤只監(jiān)視指定的線程,要監(jiān)視系統(tǒng)中的所有線程,必須用到全局掛鉤。對(duì)于全局掛鉤,掛鉤函數(shù)必須包含在獨(dú)立的動(dòng)態(tài)鏈接庫(kù)中,這樣才能被各種相關(guān)聯(lián)的應(yīng)用程序調(diào)用。
其中,設(shè)置系統(tǒng)消息掛鉤的具體方法如下a)在P1中實(shí)現(xiàn)一個(gè)消息處理過程(MSGHandler0);b)調(diào)用系統(tǒng)應(yīng)用程序接口(如SetWindowHook),將MSGHandler0的地址作為參數(shù)傳給該接口以完成系統(tǒng)掛鉤設(shè)置過程。
當(dāng)系統(tǒng)消息掛鉤截獲到消息時(shí),會(huì)把消息直接發(fā)給MSGHandler0,消息內(nèi)容包括消息所屬進(jìn)程標(biāo)識(shí)、消息類型和消息附加參數(shù),MSGHandler0判斷如果消息所屬進(jìn)程為P2,則從進(jìn)程標(biāo)識(shí)中獲取P2所使用的E1的“圖形繪制接口”和“屬性設(shè)置接口”兩個(gè)地址,用重新實(shí)現(xiàn)的圖形繪制接口和屬性設(shè)置接口(Implement)來替換原有接口實(shí)現(xiàn)(圖1.B),并保存原有接口地址,以便完成繪制工作后回調(diào)原接口。
當(dāng)P2調(diào)用E1的圖形繪制接口和屬性設(shè)置接口時(shí),由于原接口地址已經(jīng)被Implement替換,所以程序?qū)⑻絀mplement上繼續(xù)執(zhí)行,在Implement中進(jìn)行如下操作(圖1.C)a)獲取原接口實(shí)際參數(shù)、b)對(duì)參數(shù)進(jìn)行判斷處理、c)用新的參數(shù)回調(diào)原接口。
其中,Implement的“屬性設(shè)置接口”工作原理如下當(dāng)P2調(diào)用圖形引擎E1的屬性設(shè)置接口時(shí)(圖1.F),Implement中實(shí)現(xiàn)的“屬性設(shè)置接口”從參數(shù)中取得繪圖引擎的繪制模式,當(dāng)發(fā)現(xiàn)繪制模式為“非拷貝模式”時(shí),將參數(shù)修改為“拷貝模式”,然后調(diào)用圖形原有的屬性設(shè)置接口將新的參數(shù)傳回,這樣做可以使繪圖引擎允許修改繪圖數(shù)據(jù)。
Implement的“圖形繪制接口”工作原理如下當(dāng)P2調(diào)用圖形引擎E1的圖形繪制接口時(shí),Implement中實(shí)現(xiàn)的“圖形繪制接口”從參數(shù)中取得P2的圖形數(shù)據(jù),再?gòu)腜1中取得窗口圖形數(shù)據(jù),然后將P1的圖形數(shù)據(jù)和P2的圖形數(shù)據(jù)合并為一幅圖形數(shù)據(jù),最后調(diào)用原來繪圖引擎E1的圖形繪制接口來完成圖形數(shù)據(jù)的輸出,從而實(shí)現(xiàn)畫中畫的效果。
因?yàn)镻2是全屏模式運(yùn)行,其獨(dú)占了所有用戶輸入操作的消息(如鼠標(biāo)、鍵盤等操作事件),而用戶又需要在P1上進(jìn)行交互操作,這就需要有一種機(jī)制允許用戶的操作焦點(diǎn)在P1和P2之間自由切換,而原有獨(dú)占模式下的P2在失去焦點(diǎn)的情況下可能會(huì)出現(xiàn)運(yùn)行異常的情況,比如被最小化、強(qiáng)行關(guān)閉等,所以需要更改P2的窗口消息處理過程,以保證P1在不影響P2正常運(yùn)行的情況下得到用戶操作的操作焦點(diǎn),具體實(shí)現(xiàn)如下a)實(shí)現(xiàn)一個(gè)窗口消息處理過程(MSGHandler2);b)調(diào)用系統(tǒng)應(yīng)用程序接口(如SetWindowLong),將P2的窗口消息處理過程替換為MSGHandler2的地址,同時(shí)得到原P2的窗口消息處理過程地址;c)當(dāng)P2收到窗口消息時(shí),MSGHandler2判斷是否為“失去焦點(diǎn)消息”,如果是就直接放棄本次消息處理,否則將消息原封不動(dòng)地發(fā)送給原P2窗口消息處理過程。
上述步驟只是保證了P2允許用戶在P1上操作,在下一步操作中,本方法采用設(shè)置消息屏蔽區(qū)的方法,讓被P2完全遮擋的P1可以獲取到用戶的操作指令消息,具體實(shí)現(xiàn)如下a)當(dāng)屏蔽區(qū)尚未確定或P1的窗口位置、大小變化時(shí),Implement獲取P1的窗口坐標(biāo)和長(zhǎng)寬信息數(shù)據(jù)(圖1.H),b)用這些信息數(shù)據(jù)(圖2.D)在P2的窗口消息層(圖2.A)設(shè)置消息屏蔽區(qū)域(圖2.B),該區(qū)域的坐標(biāo)位置及大小與P1窗口完全重合,如同在P2的窗口消息層上挖出了一個(gè)與P1完全相同的洞。(圖1.I)這樣,當(dāng)用戶在屏蔽區(qū)域上進(jìn)行輸入操作時(shí),系統(tǒng)會(huì)將用戶的操作消息直接發(fā)送給P1的消息處理過程(圖1.N)。
P2每次調(diào)用繪圖引擎的圖形繪制接口進(jìn)行繪制操作時(shí)(實(shí)際上是調(diào)用了Implement實(shí)現(xiàn)的圖形繪制接口),Implement的圖形繪制接口會(huì)獲取P1的窗口圖形數(shù)據(jù)(圖1.J)。同時(shí),Implement從E1的圖形繪制接口的參數(shù)中獲得P2的繪屏數(shù)據(jù)(圖2.C)。獲取兩部分?jǐn)?shù)據(jù)后,Implement利用P1所要求的α通道(屏蔽色)內(nèi)容和透明度參數(shù),根據(jù)P1窗口的當(dāng)前位置和大小,計(jì)算出數(shù)據(jù)的合并區(qū)間(圖1.K),將兩部分?jǐn)?shù)據(jù)疊加,形成一屏帶有畫中畫內(nèi)容的數(shù)據(jù)(圖1.L)(圖2.C+D)。這里,α通道是指圖像(位圖)中用于操作的某種確定顏色的點(diǎn)的集合,例如α通道=RGB(255,85,202)指圖像中紅綠藍(lán)三色值分別為255、85、202的所有點(diǎn)的集合。透明度參數(shù)是指圖像中的一個(gè)點(diǎn)的顏色值與被其遮擋的背景上的點(diǎn)的顏色值以什么比例進(jìn)行數(shù)學(xué)混合。先找出圖像中的α通道,再將這些點(diǎn)按照透明度參數(shù)與背景混合,即可以實(shí)現(xiàn)α通道的半透明效果。調(diào)節(jié)透明度即可調(diào)節(jié)混合的比例,從而調(diào)節(jié)圖像透明的程度。
此后,Implement調(diào)用原E1的圖形繪制接口繪制處理好的混合繪屏數(shù)據(jù)(圖1.M),流程導(dǎo)向下次E1繪制的等待位置(圖1.D)。
當(dāng)用戶在應(yīng)用程序P1的顯示窗口進(jìn)行交互操作時(shí)(圖1.N),Implement判斷此次交互是否使P1窗口坐標(biāo)發(fā)生移動(dòng)(圖1.O),如果發(fā)生移動(dòng)則重新獲取P1窗口的位置坐標(biāo)和長(zhǎng)寬信息(圖1.H),若未發(fā)生移動(dòng)則判斷P1窗口顯示內(nèi)容是否變更(圖1.P),若變更則重新拷貝P1窗口圖形數(shù)據(jù)(圖1.L),否則轉(zhuǎn)向下次E1繪制的等待位置(圖1.D)。
從圖1中的D開始,繪圖引擎進(jìn)入了繪屏循環(huán)中,該循環(huán)一般會(huì)在一秒內(nèi)完成超過24幀的繪屏過程,使用戶感覺畫面是連貫的。
圖3示出采用根據(jù)本發(fā)明實(shí)施例的基于繪圖引擎的畫中畫屏幕顯示方法顯示的應(yīng)用程序窗體的實(shí)際運(yùn)行效果示意圖。該圖中的背景是本來獨(dú)占顯示設(shè)備的一款應(yīng)用程序,該程序正在顯示一個(gè)籃球比賽的現(xiàn)場(chǎng)情況。而圖中的前景是一個(gè)實(shí)時(shí)通信應(yīng)用程序窗口,其中包括文字顯示區(qū)、文字輸入?yún)^(qū)和視頻顯示區(qū)。應(yīng)用本發(fā)明的基于繪圖引擎的畫中畫屏幕顯示方法,在本來獨(dú)占的屏幕上顯示出該實(shí)時(shí)通信應(yīng)用程序窗口,并在籃球比賽的現(xiàn)場(chǎng)畫面之上顯示,避免了顯示設(shè)備獨(dú)占。
圖4示出采用根據(jù)本發(fā)明實(shí)施例的基于繪圖引擎的畫中畫屏幕顯示方法顯示的應(yīng)用程序窗體的另一實(shí)際運(yùn)行效果示意圖。在圖3中雖然成功地顯示了實(shí)時(shí)通信應(yīng)用程序窗口,但是其占據(jù)了背景的大塊顯示區(qū),導(dǎo)致無法全面看到比賽現(xiàn)場(chǎng)的情況。為解決此問題,本發(fā)明的基于繪圖引擎的畫中畫屏幕顯示方法通過調(diào)節(jié)透明度參數(shù)而支持如該圖4所示的透明顯示。此時(shí),前景的實(shí)時(shí)通信軟件窗口變成半透明狀態(tài),通過該半透明窗口可以看到背景的籃球現(xiàn)場(chǎng)。
基于該方法的應(yīng)用程序P1可以與以往獨(dú)占屏幕的應(yīng)用程序P2分享顯示區(qū)域、可以使P1的顯示內(nèi)容以半透明或不透明的形式疊加于P2之上,P1本身可獨(dú)立響應(yīng)用戶交互請(qǐng)求,P1的顯示內(nèi)容可根據(jù)用戶的交互請(qǐng)求而在屏幕上隨意移動(dòng),而不干擾P2運(yùn)行。
盡管上述實(shí)施例示出在使用繪圖引擎獨(dú)占全屏繪圖模式繪制的畫面之上顯示一個(gè)其它引用程序窗體的例子,本領(lǐng)域技術(shù)人員可以得出,根據(jù)需要,可以在使用繪圖引擎獨(dú)占全屏繪圖模式繪制的畫面之上顯示多個(gè)其它引用程序窗體。
綜上所述,本發(fā)明的基于繪圖引擎的畫中畫屏幕顯示方法具有以下優(yōu)點(diǎn)1.可以運(yùn)行在基于Microsoft Windows和UNIX內(nèi)核的主機(jī)平臺(tái)下;2.能在使用繪圖引擎獨(dú)占全屏繪圖模式繪制的應(yīng)用程序畫面之上顯示其它應(yīng)用程序窗體;3.采用該方法顯示的應(yīng)用程序窗體能獨(dú)立響應(yīng)標(biāo)準(zhǔn)鍵盤鼠標(biāo)事件(如不借助鍵盤的鼠標(biāo)單擊、鼠標(biāo)雙擊、鼠標(biāo)拖拽事件);4.采用該方法顯示的應(yīng)用程序窗體不影響與它同時(shí)運(yùn)行的使用繪圖引擎獨(dú)占全屏繪圖模式繪制的應(yīng)用程序的正常運(yùn)行,兩者互相不排斥;5.采用該方法顯示的應(yīng)用程序窗體支持操作系統(tǒng)標(biāo)準(zhǔn)控件;6.采用該方法顯示的應(yīng)用程序窗體透明度可調(diào),半透明時(shí)可以透過它看到窗體下面的使用繪圖引擎獨(dú)占全屏繪圖模式繪制的應(yīng)用程序畫面。
盡管以上參照具體實(shí)施例描述了本發(fā)明的基于繪圖引擎的畫中畫屏幕顯示方法,本領(lǐng)域技術(shù)人員在不脫離本申請(qǐng)權(quán)利要求書的精神和范圍的情況下,可以進(jìn)行各種修改和替換。
權(quán)利要求
1.一種基于繪圖引擎的畫中畫屏幕顯示方法,用于在使用繪圖引擎獨(dú)占全屏繪圖模式繪制的第二應(yīng)用程序(P2)的畫面之上顯示第一應(yīng)用程序(P1)的窗口,該方法包括下列步驟在第一應(yīng)用程序(P1)中設(shè)置系統(tǒng)消息掛鉤,以便獲取第二應(yīng)用程序(P2)所使用的繪圖引擎的圖形繪制接口地址和屬性設(shè)置接口地址,用重新實(shí)現(xiàn)的圖形繪制接口和屬性設(shè)置接口來替換原有接口;所述重新實(shí)現(xiàn)的屬性設(shè)置接口獲取繪圖引擎的繪制模式,當(dāng)繪制模式為“非拷貝模式”時(shí),將其修改為“拷貝模式”;更改第二應(yīng)用程序(P2)的窗口消息處理過程以屏蔽“失去焦點(diǎn)”消息;由重新實(shí)現(xiàn)的圖形繪制接口獲取第一應(yīng)用程序(P1)的窗口圖形數(shù)據(jù)和第二應(yīng)用程序(P2)的繪屏數(shù)據(jù),并疊加這兩部分?jǐn)?shù)據(jù);以及使繪圖引擎按原有圖形繪制接口在屏幕上繪制疊加后的混合數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,還包括在第二應(yīng)用程序(P2)的窗口消息層中設(shè)置消息屏蔽區(qū),以便第一應(yīng)用程序(P1)獲取用戶的操作指令消息以進(jìn)行交互操作。
3.根據(jù)權(quán)利要求1所述的方法,其中,設(shè)置系統(tǒng)消息掛鉤的步驟進(jìn)一步包括a)在所述第一應(yīng)用程序(P1)中實(shí)現(xiàn)一個(gè)消息處理過程;b)調(diào)用系統(tǒng)應(yīng)用程序接口,將所述消息處理過程的地址作為參數(shù)傳給該接口以完成系統(tǒng)消息掛鉤設(shè)置過程。
4.根據(jù)權(quán)利要求1所述的方法,其中,所述更改第二應(yīng)用程序(P2)的窗口消息處理過程以屏蔽“失去焦點(diǎn)”消息的步驟進(jìn)一步包括a)實(shí)現(xiàn)一個(gè)窗口消息處理過程;b)調(diào)用系統(tǒng)應(yīng)用程序接口,將第二應(yīng)用程序(P2)的窗口消息處理過程替換為所述窗口消息處理過程的地址,同時(shí)得到原第二應(yīng)用程序(P2)的窗口消息處理過程地址;c)當(dāng)?shù)诙?yīng)用程序(P2)收到窗口消息時(shí),所述窗口消息處理過程判斷是否為“失去焦點(diǎn)消息”,如果是則直接放棄本次消息處理,否則將消息原封不動(dòng)地發(fā)送給原第二應(yīng)用程序(P2)窗口消息處理過程。
5.根據(jù)權(quán)利要求2所述的方法,其中,在第二應(yīng)用程序(P2)的窗口消息層中設(shè)置消息屏蔽區(qū)的步驟進(jìn)一步包括a)獲取第一應(yīng)用程序(P1)的窗口坐標(biāo)和長(zhǎng)寬信息;b)利用所述窗口坐標(biāo)和長(zhǎng)寬信息,在第二應(yīng)用程序(P2)的窗口消息層中設(shè)置消息屏蔽區(qū)域,該區(qū)域的坐標(biāo)位置及大小與第一應(yīng)用程序(P1)的窗口完全重合。
6.根據(jù)權(quán)利要求5所述的方法,還包括下列步驟當(dāng)用戶在第一應(yīng)用程序(P1)的顯示窗口進(jìn)行交互操作時(shí),判斷此次交互是否使第一應(yīng)用程序(P1)窗口坐標(biāo)發(fā)生移動(dòng),如果發(fā)生移動(dòng)則重新獲取第一應(yīng)用程序(P1)窗口的位置坐標(biāo)和長(zhǎng)寬信息,若未發(fā)生移動(dòng)則判斷第一應(yīng)用程序(P1)窗口顯示內(nèi)容是否變更,若變更則重新拷貝第一應(yīng)用程序(P1)窗口圖形數(shù)據(jù),否則轉(zhuǎn)向下次繪圖引擎繪制的等待位置。
7.根據(jù)權(quán)利要求1所述的方法,其中,在所述疊加步驟中,利用所述第一應(yīng)用程序(P1)所要求的α通道內(nèi)容和透明度參數(shù),根據(jù)第一應(yīng)用程序(P1)窗口的當(dāng)前位置和大小,計(jì)算出數(shù)據(jù)的合并區(qū)間,將兩部分?jǐn)?shù)據(jù)疊加,以形成一屏帶有畫中畫內(nèi)容的數(shù)據(jù)。
全文摘要
一種基于繪圖引擎的畫中畫屏幕顯示方法,用于在使用繪圖引擎獨(dú)占全屏繪圖模式繪制的第二應(yīng)用程序(P2)的畫面之上顯示第一應(yīng)用程序(P1)的窗口,包括在第一應(yīng)用程序(P1)中設(shè)置系統(tǒng)消息掛鉤,以便獲取第二應(yīng)用程序(P2)所使用的繪圖引擎的圖形繪制接口地址和屬性設(shè)置接口地址,用重新實(shí)現(xiàn)的圖形繪制接口和屬性設(shè)置接口來替換原有接口;重新實(shí)現(xiàn)的屬性設(shè)置接口獲取繪圖引擎的繪制模式,當(dāng)繪制模式為“非拷貝模式”時(shí),將其修改為“拷貝模式”;更改第二應(yīng)用程序(P2)的窗口消息處理過程以屏蔽“失去焦點(diǎn)”消息;獲取第一應(yīng)用程序(P1)的窗口圖形數(shù)據(jù)和第二應(yīng)用程序(P2)的繪屏數(shù)據(jù),并疊加這兩部分?jǐn)?shù)據(jù);繪制疊加后的數(shù)據(jù)。
文檔編號(hào)G06F9/44GK101078982SQ20061008445
公開日2007年11月28日 申請(qǐng)日期2006年5月24日 優(yōu)先權(quán)日2006年5月24日
發(fā)明者謝雷, 黃建峰, 肖南, 潘建 申請(qǐng)人:北京壁虎科技有限公司