用於提供虛擬界面的系統與方法
2023-06-29 08:39:41 2
專利名稱:用於提供虛擬界面的系統與方法
技術領域:
本發明涉及計算機系統的用戶界面,更具體地涉及提供新型虛擬界 面的系統與方法,該系統與方法用於提供獨立於作業系統的用戶界面。
背景技術:
近來,計算機硬體和軟體的迅速發展使計算機在社會的每個領域的 各種應用成為可能。例如,計算機已應用於通用商務、網上銀行、多媒 體的回放、在線遊戲、數據通信等。通過反覆提高中央處理單元的運行 頻率,計算機的處理速度越來越高。然而,由於在以中央處理單元實現 快速數據處理時,外圍裝置的響應速度和處理速度不能達到與中央處理 單元一樣快的速度,故計算機系統難以高速運行。為了解決該問題,在 圖形處理領域繼續進行了技術開發,且從而能夠以高速度高質量實現二 維或三維圖形圖像以及快速的電影圖像。然而,由於計算機使用環境愈 加需要處理更大量的圖形數據,所以有人開發了能夠以更高速度處理圖 形數據的技術。隨著作業系統技術和應用程式技術的發展,計算機系統 的用戶界面已改善得更加方便。計算機系統的作業系統已從早期的基於 文本的用戶界面環境發展到目前已普及的並基於圖形的圖形用戶界面
(GUI)。圖形用戶界面的一個例子是微軟(Microsoft)的WINDOWS操作系 統。在諸如WINDOWS作業系統的多任務環境中使用GUI環境更有效。這 是因為,運行於多任務環境中的各種應用程式可顯示諸如窗口和其中的 用戶界面等各種應用程式屏幕。
同時,運行於多任務環境中的一些應用程式有時以獨佔模式運行, 在獨佔模式中程序獨佔屏幕資源。大多數高速處理大量圖形數據的遊戲 程序設計為以獨佔模式運行,以實現高速屏幕顯示。然而,如果一個應 用程序在提供多任務環境的作業系統中獨佔地使用屏幕資源,那麼由於 另一個應用程式不能分配到已經被獨佔的屏幕資源,故該另 個應用程 序無法通過被所述的一個應用程式獨佔的單個顯示屏幕與用戶交互。當然,通過使以獨佔模式執行的相應的應用程式不活動並從而取消獨佔模 式,可激活另一個應用程式,然而,當相應的應用程式以獨佔模式執行 時,不能同時給兩個程序提供用戶界面。
發明內容
為了解決與傳統裝置有關的上述和其它問題,作出了本發明,且本 發明的目的是提供一種用於提供虛擬界面的系統與方法,其能夠獨立於 作業系統提供用戶界面,而不需從計算機系統中的作業系統分配屏幕資 源。
本發明的另一目的是提供用於提供虛擬界面的系統與方法,其能夠 通過顯示屏幕輸出用戶界面,而無需使從作業系統獨佔地分配屏幕資源 而運行的應用程式不活動。
實現上述目的的本發明一個方面涉及一種用於提供計算機系統的用 戶界面的系統,所述計算機系統設有用於顯示器的屏幕顯示的視頻接口。 用於提供虛擬界面的系統包括虛擬界面處理模塊,該虛擬界面處理模塊 通過獨立於作業系統的用於屏幕顯示的視頻輸出通道提供虛擬界面。
在一個實施例中,所述視頻輸出通道包括設於所述視頻接口中的視 頻存儲器的一般區域。這裡,所述虛擬界面處理模塊包括虛擬界面屏 幕顯示模塊,其用於使用覆蓋驅動器通過覆蓋區域顯示虛擬界面屏幕; 以及消息處理模塊,其用於通過在所述計算機系統的作業系統中設置全 局鉤掛來接收根據事件發生的消息並過濾與所述虛擬界面有關的消息, 並將過濾後的結果值提供給所述虛擬界面屏幕顯示模塊。
在另一個實施例中,所述視頻輸出通道包括設於所述視頻接口中的 視頻存儲器的一般區域。這裡,所述虛擬界面處理模塊包括虛擬界面 屏幕顯示模塊,其用於使用小埠驅動器通過所述一般區域顯示虛擬界 面屏幕;以及消息處理模塊,其用於通過在所述計算機系統的作業系統 中設置全局鉤掛來接收根據事件發生的消息並過濾與所述虛擬界面有關 的消息,並將過濾後的結果值提供給所述虛擬界面屏幕顯示模塊。本發明的另一方面涉及一種用於提供計算機系統的用戶界面的方 法,所述計算機系統設有用於顯示器的屏幕顯示的視頻接口。本發明的 用於提供虛擬界面的方法包括以下步驟初始化步驟,在該步驟中,設 置作業系統的全局鉤掛以通過獨立於作業系統的屏幕顯示的視頻輸出通 道輸出虛擬界面屏幕;以最高優先權接收根據事件發生的消息並過濾與 所述虛擬界面有關的消息;以及處理過濾後的與所述虛擬界面有關的消 息。
在一個實施例中,所述初始化步驟包括形成覆蓋的步驟以及通過視 頻存儲器中的覆蓋區域在顯示裝置上顯示所述虛擬界面屏幕。
在另一個實施例中,所述初始化步驟包括形成小埠的步驟以及通 過視頻存儲器中的一般區域在顯示裝置上顯示所述虛擬界面屏幕。
從下面結合附圖對優選實施例的描述中,可以使本發明的上述與其 它目的、特點及優點更加清楚,在附圖中
圖l是表示根據本發明的優選實施例的設有虛擬界面的計算機系統 的框圖。
圖2是表示設有使用覆蓋功能的虛擬界面的顯示屏幕的圖。 圖3是用於解釋使用覆蓋功能的虛擬界面處理模塊的工作原理的框圖。
圖4是表示使用覆蓋功能的虛擬界面處理模塊的運行步驟的流程圖。
圖5是表示設有使用小埠功能的虛擬界面的顯示屏幕的圖。
圖6是用於解釋使用小埠功能的虛擬界面處理模塊的工作原理的 框圖。
圖7是表示使用小埠功能的虛擬界面處理模塊的運行步驟的流程圖。
具體實施方式
參照表示本發明的優選實施例的附圖以及其說明,可更加充分地認 識到通過本發明的實施例所實現的本發明、其運行優點和目的。本發明 的實施例可以修改成各種形式,且不應認為下面描述的實施例是對本發 明的範圍的限制。本實施例僅用於更明確地對本領域的技術人員解釋本 發明。而且,沒有描述與本發明的主題無關的已知功能和結構。下面, 參照附圖詳細描述本發明的實施例。
圖l是表示根據本發明的優選實施例設有虛擬界面的計算機系統的 框圖。
參照圖l,示例性的計算機系統包括處理單元100、視頻接口200、系 統總線300、系統存儲器400以及各種接口500 540和外圍裝置。各種接口 500 540例如是用於諸如硬碟裝置510的不可移除非易失性存儲器的接口 500、用於諸如磁碟514和光碟518的可移除非易失性存儲器的接口510、 用於諸如鍵盤522和指點裝置524的用戶輸入的接口520、用於輸出到諸如 揚聲器532和印表機534的外圍裝置的接口530、數據機542以及用於 連接於區域網546的數據機542和用於廣域網544的網絡接口540。
通常稱為顯卡的視頻接口200包括圖形處理單元210、視頻存儲器220 以及連接於顯示器600的輸出埠230。圖形處理單元210負責視頻接口 200的運行控制以及圖形數據的計算處理。
硬碟510存儲有作業系統421、 一般應用程式422、虛擬界面應用程式 424以及虛擬界面處理模塊426。虛擬界面應用程式424是能夠通過虛擬界 面處理模塊426提供虛擬界面的應用程式,虛擬界面處理模塊426是用於 提供虛擬界面的處理模塊並通過顯示屏幕輸出虛擬界面而不需從操作系 統分配屏幕資源。
系統存儲器400主要包括作為非易失性存儲器的ROM410以及作為易 失性存儲器的RAM420。基本輸入/輸出系統(BIOS)安裝於ROM410上,且 當計算機系統啟動時,作業系統421被從硬碟510加載到RAM420以便啟 動。作業系統421例如是微軟的WINDOWS作業系統,並能夠執行多任務。 當執行諸如一般應用程式422與覆蓋應用程式424中的至少一個應用程式 時,所執行的應用程式被加載到RAM上。本發明的系統與方法使用不與作業系統421直接有關的獨立視頻輸 出通道將虛擬界面屏幕輸出到顯示器600。 一個實施例使用覆蓋功能實現 虛擬界面,而另一個實施例使用小埠功能實現虛擬界面。在使用覆蓋 功能的情況下,如圖2和圖3所示,視頻存儲器220中的覆蓋區域226用作 顯示虛擬界面屏幕的獨立視頻輸出通道。在使用小埠功能的情況下, 如圖5和6所示,視頻存儲器220中共用的一般區域222的一部分用作顯示 虛擬界面屏幕的獨立視頻輸出通道。
圖2是表示設有使用覆蓋功能的虛擬界面的顯示屏幕的圖。
參照圖2,在本實施例中使用覆蓋功能實現本發明的虛擬界面。視頻 存儲器220包括一般區域222與覆蓋區域226。 一般區域222被分配用作操 作系統421或一般應用程式422的顯示屏幕,並存儲有一般視頻數據224。 在本發明中,覆蓋區域226被分配並用作顯示虛擬界面屏幕616的區域, 並存儲用於輸出虛擬界面屏幕的覆蓋視頻數據228。
當覆蓋功能未激活時,視頻接口200僅將存儲於一般區域222中的一 般視頻數據224提供給顯示器600,以輸出背景屏幕612和一般應用程式屏 幕614。當激活覆蓋功能以使用虛擬界面時,視頻接口200以存儲於覆蓋 區域226中的覆蓋視頻數據228替代存儲於一般區域222中的一部分視頻 數據,並將其提供給顯示器600以輸出覆蓋於背景屏幕612和一般應用程 序614上的虛擬界面屏幕616。此時,在所顯示的所有其它屏幕的上邊顯 示虛擬界面屏幕616。
虛擬界面使用視頻存儲器220中的覆蓋區域226獨立於作業系統421 提供虛擬界面屏幕616。換言之,虛擬界面獨立於由作業系統421提供的 背景屏幕612或一般應用程式屏幕614顯示虛擬界面屏幕616。虛擬界面屏 幕616包括至少一個屏幕組成模塊,諸如虛擬界面背景圖像616a、用於數 據輸入的輸入框616b以及用於屏幕控制的控制框616c。
圖3是用於解釋使用覆蓋功能的虛擬界面處理模塊的工作原理的框圖。
參照圖3,設有使用覆蓋功能以提供虛擬界面的虛擬界面處理模塊 426。虛擬界面處理模塊426與虛擬界面應用程式424—起在計算機系統上執行。虛擬界面應用程式424可包括各種應用程式。具體地,虛擬界面應用程式424和虛擬界面處理模塊426從作業系統421來看以不活動的狀態運行。 一般應用程式422通過視頻驅動器427將一般應用程式屏幕614輸出到顯示器600,視頻驅動器427控制視頻存儲器220的一般區域224。與之相反,虛擬界面應用程式424通過覆蓋驅動器428將虛擬界面屏幕616輸出到顯示器600,覆蓋驅動器428控制視頻存儲器220的覆蓋區域226。
虛擬界面處理模塊426負責在顯示器600上輸出虛擬界面屏幕616的一系列處理步驟。虛擬界面處理模塊426設有虛擬界面顯示模塊426a與消息處理模塊426b。虛擬界面顯示模塊426a根據消息處理模塊426b的處理結果和虛擬界面應用程式424的操作將對於顯示虛擬界面屏幕616是必要的視頻數據228存儲在視頻存儲器200的覆蓋區域226中。消息處理模塊426b接收由於從來自用戶輸入接口520或其它接口裝置的輸入而發生的事件所產生的消息並對該消息進行過濾,從而當消息與虛擬界面有關時可以進行響應處理。
圖4是表示使用覆蓋功能的虛擬界面處理模塊的運行步驟的流程圖。
參照圖4,在步驟S100中,虛擬界面處理模塊426啟動操作,並隨後在步驟S110中,判斷系統上安裝的視頻接口200是否支持覆蓋以及如果支持覆蓋的話是否保留有可用的覆蓋資源。如果可以形成覆蓋,則在步驟S120中形成覆蓋。可以使用諸如DirectX的DirectDraw或DirectShow以及OpenGL等支持庫實現形成覆蓋。
如果視頻接口200不支持覆蓋功能或儘管視頻接口200支持覆蓋功能但沒有保留的覆蓋資源,則進行步驟S130以輸出覆蓋錯誤消息,並在步驟S140中結束虛擬界面處理模塊426的操作。
在形成覆蓋之後,在步驟S150中,虛擬界面處理模塊426設置作業系統421的全局鉤掛。例如,在WINDOWS作業系統的情況下,可以使用API設置全局鉤掛。當設置了全局鉤掛時,與系統中發生的所有事件有關的消息被最先考慮由虛擬界面處理模塊426接收。在完成使用覆蓋的虛擬界面的前述初始化步驟之後,在步驟160中,使用覆蓋功能顯示虛擬界面屏幕616。之後,在步驟S170中,消息處理模塊426b判斷是否產生根據事件而發生的消息。當收到該消息時,進入步驟S180進行過濾步驟,以判斷所收到的消息是否與虛擬界面有關。如果判斷出該消息與虛擬界面有關,則進入步驟S190進行與虛擬界面有關的消息的處理。然而,若不是與虛擬界面有關的消息,則進入S200以將該消息發送給處於激活中的一般應用程式422。
在步驟S190中的進行與虛擬界面有關的消息的處理的步驟中,消息處理模塊426b將作為過濾後的結果值輸入的消息屬性值提供給虛擬界面顯示模塊426a。虛擬界面顯示模塊426a接收從消息處理模塊426b所提供的消息屬性值並允許在虛擬界面屏幕616上顯示適當的屏幕。消息屬性值還被傳送給虛擬界面應用程式424,以便執行虛擬界面應用程式424的必要程序功能。而且,虛擬界面顯示模塊426a從虛擬界面應用程式424接收在虛擬界面屏幕616上顯示的值,並允許在虛擬界面屏幕616上顯示適當的屏幕。
例如,當在虛擬界面屏幕616的區域發生指點裝置524的輸入時,產生根據與該輸入有關的事件的消息並且該消息被消息處理模塊426b接收。如圖2所示,當有指點裝置524的輸入以選擇顯示於虛擬界面屏幕616上的輸入框616b時,消息處理模塊426b將該輸入通知給覆蓋屏幕顯示模塊426a。隨後,覆蓋屏幕顯示模塊426a虛擬地顯示光標以在輸入框616b內的相應位置進行文本輸入。在此狀態中,當用戶通過鍵盤522輸入字符鍵時,消息處理模塊426b將其判斷為與虛擬界面有關的消息,並將所輸入的鍵盤值傳送給虛擬界面顯示模塊426a。虛擬界面顯示模塊426a寫入用於在覆蓋區域226中顯示字符圖像的視頻數據,從而在輸入框616b中顯示根據輸入鍵盤值的字符圖像。此時,優選地,將覆蓋區域中存儲的視頻數據轉換為受所有顯卡支持的YUV格式並隨後進行存儲。
圖5是表示設有使用小埠功能的虛擬界面的顯示屏幕的圖。
參照圖5,用於實現本發明的虛擬界面的另一個實施例使用了兩個視頻輸出通道用於顯示器600的屏幕顯示。兩個視頻輸出通道例如包括一般視頻埠和視頻小埠。在這種使用兩個視頻輸出通道的方式中,視頻存儲器200中的一般區域222用於顯示虛擬界面屏幕616。圖6是用於解釋使用小埠功能的虛擬界面處理模塊的工作原理的框圖。
參照圖6,如同前述實施例,提供使用小埠功能的虛擬界面的虛擬界面處理模塊426設有虛擬界面顯示模塊426a和消息處理模塊426b。虛擬界面處理模塊426與虛擬界面應用程式424—起在計算機系統上執行。虛擬界面應用程式424可包括各種應用程式。在本實施例中,如前述實施例中一樣,虛擬界面應用程式424與虛擬界面處理模塊426從作業系統421來看以不活動的狀態運行。 一般應用程式422通過視頻驅動器427將一般應用程式屏幕614輸出到顯示器600,所述視頻驅動器427控制視頻存儲器220的一般區域224。與之相反,虛擬界面應用程式424通過小埠驅動器429將虛擬界面屏幕616輸出到顯示器600,所述小埠驅動器429控制視頻存儲器220的覆蓋區域226。
虛擬界面處理模塊426負責在顯示器600上輸出虛擬界面屏幕616的一系列處理步驟。虛擬界面顯示模塊426a根據消息處理模塊426b的處理結果和虛擬界面應用程式424的操作將對於顯示虛擬界面是必要的視頻數據228存儲在視頻存儲器200的一般區域222中,從而刷新虛擬界面屏幕616。與前述實施例一樣,消息處理模塊426b接收由於來自用戶輸入接口520或其它接口裝置的輸入造成的事件的發生以及作為結果的消息,並過濾該消息,從而當消息與虛擬界面有關時可進行響應處理。
圖7是表示使用小埠功能的虛擬界面處理模塊的運行步驟的流程圖。
參照圖7,使用小埠的虛擬界面處理模塊426的操作具有與前述使用覆蓋的情況中的處理步驟實際相同的處理步驟。然而,在用於虛擬界面的初始化步驟中略有不同。
參照圖7,在步驟S100中,虛擬界面處理模塊426啟動操作,並隨後在步驟S110'中,判斷安裝於系統上的視頻接口200是否支持小埠以及如果支持小埠的話是否保留了可用資源。如果可以形成小埠,則在步驟S120'中形成小埠 。可使用諸如WINDOWS驅動器開發套件(WINDOWS Driver Development Kit)的開發工具實現形成小埠 。如果視頻接口200不支持小埠功能或儘管視頻接口200支持小埠功能卻沒有用於使用小埠的保留的資源,則進入步驟S130'以輸出小埠錯誤消息,並且在步驟S140中,結束虛擬界面處理模塊426的操作。
形成小埠之後,在步驟S150中,虛擬界面處理模塊426設置作業系統421的全局鉤掛。例如,在WINDOWS作業系統的情況下,可以使用API設置全局鉤掛。當設置了全局鉤掛時,與系統中發生的所有事件有關的消息被最先考慮由虛擬界面處理模塊426接收。在完成使用小埠的虛擬界面的前述初始化步驟之後,在步驟160中,使用小埠功能顯示虛擬界面屏幕616。之後,根據消息發生的處理步驟與使用覆蓋功能的前述實施例的處理步驟相同。
如上所述的本發明的虛擬界面可向顯示屏幕提供不活動的應用程式的用戶界面,而即使在其它應用程式在具有多任務環境的作業系統中被激活的狀態下,也無需使其它已激活的應用程式不活動。具體地,當一個應用程式以獨佔模式運行且另一個應用程式以不活動的狀態執行時,本發明的虛擬界面會非常有用。
例如,當激活在線遊戲程序時,該程序獨佔屏幕資源。因此,為了激活其它應用程式,應當使該在線遊戲程序不活動或結束。這種情況下,通過利用本發明的虛擬界面,可以執行處於不活動狀態的必要應用程式,而無需使以獨佔模式運行的應用程式不活動或終止,並可以通過虛擬界面在處於不活動狀態的應用程式與用戶之間提供界面。
本領域的技術人員在參照幾幅附圖閱讀了上述詳細描述之後,無疑會清楚本發明的這些和其它特徵和優點。
如上所述,與使用視頻存儲器中的一般區域並與作業系統直接相關的通常的用戶界面不同,本發明的虛擬界面使用覆蓋功能或小埠功能獨立於作業系統輸出虛擬界面屏幕,從而向顯示屏幕提供虛擬界面屏幕而不需從作業系統分配屏幕資源。具體地,因為不能從外部監視虛擬界面屏幕,所以使用覆蓋的虛擬界面可用於處理諸如密碼或ID的等重要信息並因而極其需要安全性的應用程式中。
權利要求
1.一種用於提供虛擬界面的系統,該系統用於提供計算機系統的用戶界面,所述計算機系統設有用於顯示器的屏幕顯示的視頻接口,該用於提供虛擬界面的系統包括虛擬界面處理模塊,其用於通過獨立於作業系統的屏幕顯示的視頻輸出通道提供所述虛擬界面。
2. 如權利要求l所述的用於提供虛擬界面的系統,其中,所述視頻 輸出通道包括設於所述視頻接口中的視頻存儲器的覆蓋區域。
3. 如權利要求2所述的用於提供虛擬界面的系統,其中,所述虛擬 界面處理模塊包括虛擬界面屏幕顯示模塊,其用於使用覆蓋驅動器通過所述覆蓋區域 顯示虛擬界面屏幕;以及消息處理模塊,其用於通過在所述計算機系統的所述作業系統中設 置全局鉤掛,接收根據事件發生的消息並過濾與所述虛擬界面有關的消 息,並將所述過濾後的結果值提供給所述虛擬界面屏幕顯示模塊。
4. 如權利要求l所述的用於提供虛擬界面的系統,其中,所述視頻 輸出通道包括設於所述視頻接口中的視頻存儲器的一般區域。
5. 如權利要求4所述的用於提供虛擬界面的系統,其中,所述虛擬 界面處理模塊包括虛擬界面屏幕顯示模塊,其用於使用小埠驅動器通過所述一般區 域顯示虛擬界面屏幕;以及消息處理模塊,其用於通過在所述計算機系統的所述作業系統中設 置全局鉤掛,接收根據事件發生的消息並過濾與所述虛擬界面有關的消 息,並將所述過濾後的結果值提供給所述虛擬界面屏幕顯示模塊。
6. 如權利要求l所述的用於提供虛擬界面的系統,其中,通過所述 虛擬界面處理模塊使用所述虛擬界面的虛擬界面應用程式運行於不活動狀態中。
7. —種用於提供虛擬界面的方法,該方法用於提供計算機系統的用 戶界面,所述計算機系統設有用於顯示器的屏幕顯示的視頻接口,該方 法包括以下步驟初始化步驟,在該步驟中,設置作業系統的全局鉤掛以通過獨立於 作業系統的屏幕顯示的視頻輸出通道輸出虛擬界面屏幕;以最高優先權接收根據事件發生的消息並過濾與所述虛擬界面有關 的消息的步驟;以及處理所述過濾後的與所述虛擬界面有關的消息的步驟。
8. 如權利要求7所述的用於提供虛擬界面的方法,其中,所述初始 化步驟包括形成覆蓋的步驟,並通過視頻存儲器中的覆蓋區域在顯示裝 置上顯示所述虛擬界面屏幕。
9. 如權利要求7所述的用於提供虛擬界面的方法,其中,所述初始 化步驟包括形成小埠的步驟,並通過視頻存儲器中的一般區域在顯示 裝置上顯示所述虛擬界面屏幕。
全文摘要
本發明的系統與方法使用不與作業系統直接有關的獨立視頻輸出通道將虛擬界面屏幕輸出到顯示器。用於實現虛擬界面的一個實施例使用覆蓋功能,另一個實施例使用小埠功能。在使用覆蓋功能的情況下,視頻存儲器中的覆蓋區域用作顯示虛擬界面屏幕的獨立視頻輸出通道。在使用小埠功能的情況下,視頻存儲器中的一部分共用的一般區域用作顯示虛擬界面屏幕的獨立視頻輸出通道。本發明的虛擬界面使用覆蓋功能或小埠功能獨立於作業系統輸出虛擬界面屏幕,從而對顯示屏幕提供虛擬界面屏幕,而不需從作業系統分配屏幕資源。
文檔編號G06F3/14GK101689098SQ200780053521
公開日2010年3月31日 申請日期2007年9月3日 優先權日2007年6月26日
發明者文昌宣, 表世鎮 申請人:文昌宣;表世鎮