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

用于在遠(yuǎn)程終端會話中提供輔助功能選項的技術(shù)的制作方法

文檔序號:6567571閱讀:205來源:國知局
專利名稱:用于在遠(yuǎn)程終端會話中提供輔助功能選項的技術(shù)的制作方法
用于在遠(yuǎn)程終端會話中提供輔助功能選項的技術(shù)
背景
輔助功能工具嘗試幫助那些使用標(biāo)準(zhǔn)用戶界面配置有困難的個人使用計 算機(jī)。例如視力減弱的個人可能希望用戶界面的特征尺寸增大和/或通過伴隨的 口頭描述來增強(qiáng),從而使用戶可更容易地定位和使用這些特征。
諸如由Microsoft⑧公司提供的Terminal Services等的遠(yuǎn)程終端會話支持產(chǎn) 品使客戶端計算機(jī)與服務(wù)器計算機(jī)之間能夠進(jìn)行遠(yuǎn)程終端會話。遠(yuǎn)程終端會話 (RTS)可使客戶端計算機(jī)能夠通過網(wǎng)絡(luò)連接到服務(wù)器計算機(jī),以在客戶端計 算機(jī)上生成一遠(yuǎn)程桌面。傳統(tǒng)上,在遠(yuǎn)程桌面情景中,在服務(wù)器計算機(jī)上運行 操作系統(tǒng)和/或一個或多個應(yīng)用程序以生成用戶界面(UI) 。 UI的一種表示--一 諸如位像一一然后通過網(wǎng)絡(luò)發(fā)送到客戶端。從輔助功能角度看,此位圖數(shù) 據(jù)只有有限的價值。需要為遠(yuǎn)程終端會話情景提供輔助功能選項的解決方案。
概要
描述了涉及在遠(yuǎn)程終端會話情景中啟用輔助功能的技術(shù)。在一個實例中, 一過程檢測到來自一輔助功能的涉及遠(yuǎn)程終端會話中的一顯示元素的請求。該 過程向位于計算機(jī)設(shè)備上的生成該顯示元素的組件發(fā)送與該請求有關(guān)的查詢。 該過程還接收對該查詢的響應(yīng)。
附圖簡要說明


圖1示出在遠(yuǎn)程終端會話情景中啟用輔助功能的示例性系統(tǒng)。 圖2示出在遠(yuǎn)程終端會話情景中啟用輔助功能的示例性系統(tǒng)。 圖3更詳細(xì)示出在遠(yuǎn)程終端會話情景中啟用輔助功能的示例性系統(tǒng)。 圖4示出一種用于在遠(yuǎn)程終端會話情景中啟用輔助功能的環(huán)境中的示例性 系統(tǒng)、設(shè)備和組件。
圖5示出在遠(yuǎn)程終端會話環(huán)境中啟用輔助功能的一個示例性實施例的過程圖。
具體說明
概述
下述的技術(shù)涉及遠(yuǎn)程終端會話情景以及在遠(yuǎn)程終端會話中啟用輔助功能 工具(AA)。在本文件中,AA涉及訪問與可為用戶顯示的顯示元素或?qū)ο笥?關(guān)的信息的功能。AA在多種用戶情景中被使用。例如,AA在各種語音命令和 控制情景、各種測試情景、以及在各種幫助有視覺和/或聽覺損傷的用戶的情景 中被使用。
在獨立的計算機(jī)配置中,計算機(jī)生成包含一個或多個諸如圖標(biāo)、工具欄等 顯示元素的用戶界面(UI)。顯示元素可以是UI中與對象數(shù)據(jù)或信息相關(guān)聯(lián) 的任何部分。在獨立配置中工作的AA可獲得有關(guān)該UI的專屬顯示元素的部分 或所有信息。AA包括與UI交互的手段,或者與這種手段通信,該手段諸如是 有助f獲取所請求的顯示元素信息的輔助工具用戶界面接口 (AA-UI接口)。 該與顯示元素有關(guān)的信息然后被以某種方式利用來幫助用戶。例如,若用戶將 指針置于代表回收站的圖標(biāo)的顯示元素之上,那么AA請求與該顯示元素有關(guān) 的信息。AA接收并理解與所指定的顯示元素有關(guān)的信息。所接收的信息的類 型的例子包括按鈕、列表、菜單等的描述,以及它們的相對關(guān)系等等。隨后, AA 口T幫助用戶,諸如在視覺受損的情形中,僅舉一例,AA可通過使單詞"回 收站"為用戶可聽地生成來幫助該用戶。
遠(yuǎn)程終端會話(RTS)允許在服務(wù)器上工作的操作系統(tǒng)(OS)和/或應(yīng)用程 序生成包含一個或多個顯示元素的UI。遠(yuǎn)程終端會話進(jìn)一步允許UI的輸出或 圖形被轉(zhuǎn)發(fā)到客戶端計算機(jī)。換言之,僅僅是UI的表示被發(fā)送至客戶端計算 機(jī)并在其上顯示。在客戶端計算機(jī)上,為用戶視覺地顯示該UI的表示。在客 戶端計算機(jī)處的用戶可看到該UI的表示并與之交互。相對于服務(wù)器來說,客 戶端計算機(jī)的責(zé)任程度得到降低,因為客戶端只負(fù)責(zé)顯示從服務(wù)器接收的表示 并將用戶輸入中繼至服務(wù)器。服務(wù)器計算機(jī)處理用戶輸入并更新UI以反映該 用戶輸入,并且將更新后的UI表示發(fā)送至客戶端計算機(jī)。從用戶的視覺角度 來看,UI的表示可能與實際的UI難以分辨。然而從輔助功能的角度來看,當(dāng)與實際的對應(yīng)UI相比較時,此UI表示與縮減程度的對象數(shù)據(jù)相關(guān)聯(lián)。
本發(fā)明的技術(shù)進(jìn)一步在遠(yuǎn)程終端會話環(huán)境中啟用AA來達(dá)到與上述獨立配
置相似的功能。例如,該AA可請求與接收服務(wù)器UI的客戶端表示的特定部分 有關(guān)的信息。該請求被檢測到,并且該信息被收集并呈遞給該AA。某些實現(xiàn) 檢測AA的請求,獲得相應(yīng)的信息,并以一種對AA透明的方式將該信息呈遞 給AA,,從而AA甚至不需要知曉它并非在獨立配置中運行。
例如,參照圖1,其示出一系統(tǒng)100,該系統(tǒng)被配置成支持服務(wù)器102與 客戶端104之間通過網(wǎng)絡(luò)106的遠(yuǎn)程終端會話,并且被配置成啟用涉及該遠(yuǎn)程 終端會話的輔助功能。服務(wù)器102以服務(wù)器桌面110的形式生成UI。服務(wù)器桌 面可包含諸如這里所示的顯示元素111等的一個或多個顯示元素。顯示元素的 例子可包括圖標(biāo)、工具欄、菜單等。遠(yuǎn)程終端會話在終端104上以遠(yuǎn)程桌面112 的形式生成該UI的表示。遠(yuǎn)程桌面不是包含這一個或多個顯示元素,而僅僅 是這些顯示元素的缺少許多或所有與該服務(wù)器UI的顯示元素相關(guān)聯(lián)的底層信 息的--種表示。例如,顯示元素111如所示地由表示113來表示。對于用戶來 說,顯示元素表示113可能看上去基本與顯示元素111相同,但從輔助功能角 度看,顯示元素的表示113與縮減量的相關(guān)聯(lián)信息相關(guān)聯(lián)。
與客戶端的遠(yuǎn)程桌面112相關(guān)地運行的輔助功能工具可請求關(guān)于此遠(yuǎn)程桌 面的一部分的信息。為滿足AA的請求,至少一些實施例在服務(wù)器處收集涉及 服務(wù)器UI的對應(yīng)部分的信息。例如,可在服務(wù)器處從實際服務(wù)器UI有效地檢 索到涉及客戶端UI表示的被請求部分的對象數(shù)據(jù),并帶給AA。例如,假定 AA請求涉及遠(yuǎn)程桌面的一顯示元素的信息。則該請求被檢測到,并且涉及該 遠(yuǎn)程桌面的被請求部分的信息被獲得并呈遞給AA。舉例來說,可獲得關(guān)于服 務(wù)器桌面的相應(yīng)部分的信息。此信息可被呈遞給AA,從而使AA不需要具備 在遠(yuǎn)程桌面頂替了在客戶端104上本地生成的UI的情況下將被使用到的功能 以外的任何功能。
為解釋的目的,在另一例子中假定AA請求關(guān)于遠(yuǎn)程桌面112的最接近指 針114的部分的信息。AA的請求被檢測到,且從服務(wù)器102獲得關(guān)于服務(wù)器 桌面110的最接近指針114的該部分的信息。所獲得的信息或者其某些衍生信 息被提供至AA。響應(yīng)于所提供的信息,AA可使輔助功能相關(guān)的用戶可感知輸出116能夠
在客戶端104為用戶生成。熟悉此技術(shù)者可知,輔助功能相關(guān)的用戶可感知輸 出116可包括增強(qiáng)遠(yuǎn)程桌面的音頻和/或視頻信號。例如為解釋目的,假定指針 114被置于因特網(wǎng)瀏覽圖標(biāo)形式的顯示元素之上。在這一情形中,輔助功能相 關(guān)的用戶可感知輸出116可被表現(xiàn)成為用戶可聽地生成的單詞"因特網(wǎng)瀏覽"。
如上所述,在至少一些實現(xiàn)中,AA甚至不需要知曉客戶端104上存在的 僅僅是用戶界面的表示,或者AA是相關(guān)于遠(yuǎn)程終端會話來工作的。換句話說, 在一些實現(xiàn)中,使得關(guān)于遠(yuǎn)程桌面的信息的有效子集成為在客戶端本地可供 AA使用。在這些實現(xiàn)中的一些里,允許使信息以對AA透明的方式可用的技 術(shù)得到支持。例如,使得息在AA利用支持的技術(shù)來訪問該信息時,此信息可 以透明的方式本地地可用。在這種配置中,AA可能看不見遠(yuǎn)程終端會話的存 在,并且仍在預(yù)期的輔助功能參數(shù)內(nèi)一致地運行。
上述和下述實現(xiàn)是在當(dāng)前時間中通常遇到的計算機(jī)環(huán)境的背景中描述的。 各種例子可由諸如個人計算機(jī)或稱PC等的計算機(jī)執(zhí)行的諸如程序模塊等的計 算機(jī)可執(zhí)行指令或代碼手段來實現(xiàn)。通常,程序模塊包括執(zhí)行特定任務(wù)或?qū)嵤?特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。
可在除PC以外的其他計算機(jī)系統(tǒng)配置中實現(xiàn)各種例子。例如,可在手持 式設(shè)備、多處理器系統(tǒng)、基于微處理器或可編程的消費類電子產(chǎn)品、網(wǎng)絡(luò)PC、 微型計算機(jī)、大型機(jī)、手機(jī)等之中實行各種實現(xiàn)。進(jìn)一步地,隨著技術(shù)繼續(xù)演 進(jìn),可在尚待確定分類的設(shè)備上實行各種實現(xiàn)。例如,隨著單位處理功耗繼續(xù) 下降和無線技術(shù)擴(kuò)展,類似目前的手機(jī)的計算設(shè)備可在單個移動設(shè)備中執(zhí)行目 前的PC、攝像機(jī)、手機(jī)及其他的功能。此單個設(shè)備在一種情景中可作為服務(wù)器, 而在另 -種情景中可作為客戶端。這只是所描述的實現(xiàn)的許多現(xiàn)有的和開發(fā)中 的例子之一。
在此使用的術(shù)語服務(wù)器和客戶端并不暗含此二者的任何相對能力??蛻舳?可比服務(wù)器具備更多、更少或相等的處理能力。確切而言,在本文件中,服務(wù) 器和客戶端的名稱是描述此二組件的相對關(guān)系。舉例來說,第一或服務(wù)器設(shè)備 的計算體驗相對于第二或客戶端設(shè)備而言是遠(yuǎn)程化的。
盡管如上所示地,可將各種實現(xiàn)納入到許多類型的操作環(huán)境中,但是在圖4中僅示出了在示例性的通用計算設(shè)備背景中的一種示例性環(huán)境的描述,并在 后文的標(biāo)題"示例性操作環(huán)境"下進(jìn)一步詳細(xì)描述。
示例性實現(xiàn)和過程
參照圖2,其示出被配置成使得能夠在遠(yuǎn)程終端會話中實現(xiàn)輔助功能的系
統(tǒng)100A。系統(tǒng)100A被配置成支持在服務(wù)器102A與客戶端104A之間通過網(wǎng) 絡(luò)106A的遠(yuǎn)程終端會話。系統(tǒng)IOOA還被配置成使客戶端104A在遠(yuǎn)程終端會 話期間能夠?qū)崿F(xiàn)輔助功能。在該系統(tǒng)實現(xiàn)中,服務(wù)器102A包括RTS服務(wù)器 組件202、 AA-RTS支持服務(wù)器組件204、 AA-UI接口服務(wù)器組件206、以及以 服務(wù)器操作系統(tǒng)(OS) 208??蛻舳?04A包括RTS客戶端組件212、 AA-UI 接口客戶端組件214、 AA客戶端組件216、以及客戶端OS218。
在此配置中,服務(wù)器102A被配置成生成為說明目的以服務(wù)器桌面110A 的形式實現(xiàn)的UI。在此,服務(wù)器桌面是為了解釋的目的而舉例的,但在許多情 景中,服務(wù)器桌面的可視圖像并未實際在服務(wù)器上生成。RTS服務(wù)器組件202 和RTS客戶端組件212被配置成在服務(wù)器102A與客戶端104A之間通過網(wǎng)絡(luò) 106A建立一個或更多用于遠(yuǎn)程終端會話的通信通道220。 RTS服務(wù)器組件202 被配置成生成服務(wù)器桌面的可供顯示在客戶端104A上的表示。在本例中,該 表示通過通信通道220被發(fā)送,并作為遠(yuǎn)程桌面112A顯示在客戶端104A上。 在此情形中,遠(yuǎn)程桌面112A位于一邊界或視窗內(nèi)并被其圍繞。此邊界起到區(qū) 分遠(yuǎn)程桌面112A與在客戶端顯示224上本地生成的客戶端桌面222的作用。 在其他配置中,對用戶來說哪些組件是本地生成的,而哪些組件是遠(yuǎn)程生成的 可能并不是顯然的。
通過RTS客戶端組件212和RTS服務(wù)器組件202,遠(yuǎn)程終端會話被進(jìn)一步 被配置成啟用與遠(yuǎn)程終端會話有關(guān)的輔助功能。例如,遠(yuǎn)程終端會話可將輔助 功能組件主存在客戶端和/或服務(wù)器處。作為替代選擇或者補充,遠(yuǎn)程終端會話 可為位于服務(wù)器102A和客戶端104上的AA組件提供用于傳達(dá)為實現(xiàn)輔助功 育巨目的所需要的UI信息的通信手段。
AA客戶端組件216被配置成通過AA-UI接口客戶端組件214向占據(jù)客戶 端顯示224的UI請求信息,或者與此UI交互。AA-UI接口客戶端組件214是諸如像被配置成與該UI交互以獲得用于AA的信息的應(yīng)用程序接口 (API)這 樣的接口。在某些配置中,AA-UI接口是被配置成向客戶端應(yīng)用程序呈遞涉及 UI顯示元素的信息的應(yīng)用程序接口 (API)和系統(tǒng)庫。僅舉一個這樣的配置為 例,AA-UI接口將UI信息呈現(xiàn)為一節(jié)點樹,其中每一節(jié)點表示一個UI顯示元 素。在至少一些配置中,AA-UI接口被配置成提供對節(jié)點的結(jié)構(gòu)、屬性、交互 性以及事件的訪問。AA-UI接口潛在可能的非限定性示例包括UI Automation 和Microsoft Active Accessibility (MSAA),此二者皆是Microsoft⑧公司的注 冊商標(biāo)產(chǎn)品。熟悉此技術(shù)者應(yīng)當(dāng)知曉其他合適的AA-UI接口,對于上述和下述 的概念而言,其中某些接口可能比其他接口更有效。
在本實例中,客戶端顯示224包括客戶端桌面部分222,其是本地生成 的UI;以及遠(yuǎn)程桌面112A,其是遠(yuǎn)程生成的UI的表示。在此實例中,遠(yuǎn)程桌 面112A是服務(wù)器UI或服務(wù)器桌面110A的位圖表示。當(dāng)與諸如客戶端桌面222 等的本地生成的UI相比時,遠(yuǎn)程桌面112A包含用于輔助功能目的的縮減量的
fe息。
與系統(tǒng)100A -致的是,AA客戶端組件216可請求和接收關(guān)于客戶端顯示 224的指定部分的信息。若所請求的信息可在客戶端本地獲得,則在客戶端獲 得該信息并將其提供給AA客戶端組件216。這樣的情形可能在AA的請求涉 及客戶端桌面222的情況下發(fā)生。若所請求的信息在客戶端不可獲得,諸如是 一指向遠(yuǎn)程桌面112A的部分的請求,則遠(yuǎn)程地獲得該信息。舉例來說,在此 特定配置中,若AA客戶端216請求關(guān)于遠(yuǎn)程桌面112A的信息,那么此請求 被一諸如RTS客戶端212等的客戶端一方組件檢測到并理解,并被指向服務(wù)器 102A。在此特定配置中,該請求通過網(wǎng)絡(luò)106A被指向AA-RTS支持服務(wù)器組 件204。該請求可在與遠(yuǎn)程終端會話相關(guān)聯(lián)的通道220上或是在單獨的"帶外" 通道被發(fā)送。
AA-RTS支持服務(wù)器組件204代表AA客戶端組件216運作,并被配置成 獲得被請求的涉及服務(wù)器桌面110A的信息。AA-RTS支持服務(wù)器組件204與 AA-UI接口服務(wù)器組件206協(xié)作以在服務(wù)器102A處獲得該信息。AA-RTS支 持服務(wù)器組件204將該信息中繼至客戶端并最終至客戶端的AA客戶端組件 216。圖2的系統(tǒng)配置僅僅是允許AA客戶端組件216在RTS會話中獲得UI
9信息而無論該UI信息是存在于客戶端104A還是服務(wù)器102A上的一種配置。
在一些配置中,AA客戶端組件216不需要知曉該請求是涉及本地生成的 UI還是僅是遠(yuǎn)程或者服務(wù)器生成的UI的表示。在此類配置中,用于確定該請 求是涉及客戶端UI還是遠(yuǎn)程UI的表示的手段可能存在于客戶端104A上,諸 如存在于RTS客戶端組件212內(nèi)。RTS客戶端組件隨后根據(jù)情況適當(dāng)?shù)乇镜鼗?者遠(yuǎn)程地獲得該信息。
圖3提供一種與上述和下述概念一致的非限定性實現(xiàn)。圖3示出系統(tǒng)100B, 其包括客戶端104B和服務(wù)器102B,其中可為運行于客戶端104B上的輔助功 能提供請求的關(guān)于UI的信息,不管該UI是在該輔助功能運行的機(jī)器上還是在 遠(yuǎn)程機(jī)器上生成。此特定系統(tǒng)配置提供一關(guān)于遠(yuǎn)程終端會話的,RTS組件如何 能夠在客戶端和服務(wù)器兩方提供用于主存由AA供應(yīng)的可獲得關(guān)于UI的輔助功 能相關(guān)信息的組件的基礎(chǔ)結(jié)構(gòu)。
在本實現(xiàn)中,RTS組件可為AA組件提供將對合需UI信息的請求從客戶 端一方傳遞到服務(wù)器一方的手段,并可提供將所獲得的信息從服務(wù)器一方傳遞 回客戶端一方的手段。為解釋的目的,圖3將發(fā)生在客戶端104B上的進(jìn)程分 為兩種進(jìn)程類型AA進(jìn)程類型302和RTS進(jìn)程類型304。發(fā)生在服務(wù)器102B 上的進(jìn)程也以服務(wù)器進(jìn)程類型306指代。為便于解釋和限于紙面篇幅,這些服 務(wù)器進(jìn)程被編組成單個進(jìn)程。在其他配置中,服務(wù)器UI 326可包含在與其他服 務(wù)器一方的組件和/或進(jìn)程分開且不同的服務(wù)器進(jìn)程中。進(jìn)一步地,服務(wù)器UI 可存在相關(guān)于服務(wù)器進(jìn)程306上列出的其他組件的多個實例。
系統(tǒng)100B包括與AA進(jìn)程302相關(guān)聯(lián)的AA客戶端組件216B以及AA-UI 接口組件214B。 AA進(jìn)程302中還包括AA-UI-RTS本地組件308,在此例中, 其是AA-UI接口組件214B的子組件。AA-UI-RTS本地組件308起到將AA-UI 功能擴(kuò)展到超越本地或獨立情景的作用。
在此特定實現(xiàn)中,并與RTS客戶端進(jìn)程304有關(guān)地,系統(tǒng)100B包含客戶 端顯示222B,其上顯示了服務(wù)器UI的位圖表示310以及客戶端生成的UI 312。 RTS客戶端進(jìn)程304還包括RTS客戶端組件212B、 AA-UI-RTS-in-proc組件 314、 RTS輔助功能支持組件316,以及VC主機(jī)-客戶端組件318。 RTS輔助功 能支持組件316包含關(guān)于有助于RTS客戶端組件與AA客戶端組件之間的通信的輔助工具的信息。
關(guān)于服務(wù)器進(jìn)程306,圖3包含RTS服務(wù)器組件202B、 AA-UI-RTS遠(yuǎn)程 組件320、 VC主機(jī)服務(wù)器組件322、 AA-UI接口服務(wù)器組件206B以及服務(wù)器 UI 326。總體而言,RTS客戶端組件212B、 RTS輔助功能支持組件316、 VC 主機(jī)客戶端組件318、 RTS服務(wù)器組件202B、以及VC主機(jī)服務(wù)器組件322起 到使AA客戶端組件216B能夠獲取關(guān)于位圖表示310上表示的顯示元素的數(shù) 據(jù)的作用。由于位圖表示是服務(wù)器UI 326的表示,因此更廣范圍的輔助功能相 關(guān)信息可以從服務(wù)器UI獲得。上文提及的組件允許從服務(wù)器102B獲得輔助 功能相關(guān)信息,且允許所獲得的信息被回送以供AA客戶端組件216B使用。 上文提及的組件將在以下通過示例更詳細(xì)描述。
發(fā)現(xiàn)
在此特定配置中,在RTS客戶端組件212B啟動之際,RTS客戶端組件加 載RTS輔助功能支持組件316和VC主機(jī)客戶端組件318,并使VC主機(jī)服務(wù) 器組件322被加載。進(jìn)一步地,RTS客戶端組件曝露一視窗接口,用于諸如從 AA客戶端組件216B接收通信。此界面還允許AA-UI接口組件214B將 AA-UI-RTS-in-proc組件314加載入RTS客戶端進(jìn)程304中。 一旦此接口被曝 露,AA-UI接口組件214B就可能遇到或者發(fā)現(xiàn)RTS客戶端組件212B。舉例來 說,在 一 情形中AA-UI接口組件214B在遍歷 一 相關(guān)聯(lián)的HWND樹時遇到RTS 客戶端句柄或HWND 。 HWND是表示視窗的句柄。在Windows 操作系統(tǒng)中, 許多UI元素被實現(xiàn)為視窗。每一視窗與一句柄或HWND相關(guān)聯(lián)。通常,為 AA客戶端提供這些hwnd的樹,以表示多個視窗及其關(guān)系。AA客戶端利用視 窗句柄來從AA-UI接口客戶端組件214B標(biāo)識它希望獲得與之相關(guān)的更多信息 的視窗。例如,AA客戶端可能在導(dǎo)航該樹,或者正注意到對于RTS客戶端的 輸入焦點,或?qū)TS客戶端的點擊檢測。響應(yīng)于檢測到RTS客戶端,AA-UI 接口客戶端組件214B或者AA-UI-RTS本地組件308將AA-UI-RTS-in-proc組 件314加載入RTS客戶端進(jìn)程304。這只是一個例子,可使用識別任何數(shù)據(jù)類 型被利用以在一特定平臺上表示UI的其他實現(xiàn)。
在HWND屬于RTS客戶端進(jìn)程的例子中,AA客戶端216B可利用RTS客戶端212B提供的視窗界面,通過其代表性的AA-UI-RTS本地組件308來向 RTS客戶端212B發(fā)送通信。在一個此類實例中,AA-UI-RTS本地組件308通 過曝露的接口發(fā)送諸如WM一GETOBJECT等的進(jìn)程消息給RTS客戶端212B。
RTS客戶端212B將AA客戶端的進(jìn)程消息轉(zhuǎn)發(fā)給AA-UI-RTS-in-proc組件 314和RTS輔助功能支持組件316。響應(yīng)于此,輔助功能支持組件曝露RTS客 戶端進(jìn)程,致使AA-UI-RTS本地組件308可在服務(wù)器一方加載AA-UI-RTS遠(yuǎn) 程組件320并訪問相關(guān)聯(lián)的虛擬通道。輔助功能支持組件進(jìn)一步允許 AA-UI-RTS-in-proc組件314訪問RTS客戶端桌面的各種終端服務(wù)屬性, AA-UI-RTS-in-proc組件314利用這些屬性來正當(dāng)?shù)靥幚砩鲜稣埱蟆_@些屬性 可涉及可見的、不可見的、以及啟用的滾動條等。例如AA-UI-RTS-in-proc組 件314負(fù)責(zé)諸如下述的位置屬性等的多種屬性的后處理。為啟用此類后處理, AA-UI-RTS-in-proc組件314利用在RTS客戶端212B中顯示服務(wù)器桌面的視窗 坐標(biāo)信息。例如,若RTS客戶端視窗正在使用滾動條,則AA-UI-RTS-in-proc 組件314利用巻動條的位置來正確地映射。在其他例子中,在某些遠(yuǎn)程終端會 話情景中,由RTS客戶端212B顯示的客戶端桌面是服務(wù)器上的單個視窗的表 不,而并非整個桌面本身。AA-UI-RTS-in-proc組件314利用涉及這種RTS配 置的信息,并利用涉及該客戶端桌面對應(yīng)于哪個服務(wù)器桌面視窗的信息。RTS 輔助功能支持組件316為AA-UI-RTS-in-proc 314提供此信息。
響應(yīng)于AA客戶端進(jìn)程消息,AA-UI-RTS-in-proc組件314檢查該進(jìn)程消 息的合法性,并且打開一通信手段和調(diào)用AA-UI-RTS本地組件308。例如, AA-UI-RTS-in-proc可檢査WM—GETOBJECT消息是否包含表示其是來自 AA-UI接口客戶端組件214B還是其他輔助功能組件的闡述。 AA-UI-RTS-in-proc 314通過創(chuàng)建一命名的管道來處理WM—GETOBJECT。 AA-UI-RTS-in-proc隨后返回此管道的某些鍵值給調(diào)用者,即AA-UI-RTS本地 組件308。這只是AA-UI-RTS本地組件308如何與AA-UI-RTS-in-proc組件 314建立通信通道的一個例子。熟悉此技術(shù)者應(yīng)可知曉其他配置。
在本實例中,AA-UI-RTS本地組件308從WM—GETOBJECT消息接收返 回的管道鍵值,并連接到該管道以建立AA客戶端進(jìn)程302與RTS客戶端進(jìn)程 304之間的通信。響應(yīng)于上述的RTS客戶端212B命令,VC主機(jī)客戶端組件318發(fā)送一命 令以啟動VC主機(jī)服務(wù)器組件322。 VC主機(jī)服務(wù)器組件促使AA-UI-RTS遠(yuǎn)程 組件320建立與AA-UI-RTS-in-proc 314的鏈接。如前所述, 一通信手段被從 AA客戶端進(jìn)程擴(kuò)展到RTS客戶端進(jìn)程,此通信手段當(dāng)前被有效地擴(kuò)展到服務(wù) 器102B上的進(jìn)程。在本實例中,上述連接從AA-UI-RTS本地308擴(kuò)展到 AA-UI-RTS-in-proc 314,再到AA-UI-RTS遠(yuǎn)程組件320。
請求信息
來自AA客戶端204B的對輔助功能相關(guān)信息的請求從客戶端一方的 AA-UI接口客戶端214B傳播到AA-UI-RTS本地組件308。在一個實例中, AA-UI-RTS本地組件構(gòu)建一字節(jié)消息,其包含對所請求的顯示元素或?qū)ο蟮?引用,要檢索的屬性的列表,以及一標(biāo)識AA-UI-RTS本地組件308感興趣的元 素的過濾器。舉例來說,當(dāng)請求是針對一特定顯示元素的子元素時,該過濾器 可以那樣地指定"僅可視元素",而不是返回這些特定顯示元素的所有子元素 因此僅可視子元素被返回。AA-UI-RTS本地組件308隨后通過該命名的管道向 AA-UI-RTS-in-proc組件314發(fā)送該消息,并等待響應(yīng)。
AA-UI-RTS-in-proc組件314接收上述消息,以一 ID對其加標(biāo)簽以標(biāo)識是 哪-一 AA-UI-RTS本地組件發(fā)送此消息。AA-UI-RTS-in-proc組件314將此消息 轉(zhuǎn)發(fā)至AA-UI-RTS遠(yuǎn)程組件320。 AA-UI-RTS遠(yuǎn)程組件接收該消息,將該消息 反串行化(包括查找對象引用以確定目標(biāo)UI元素),以及利用AA-UI接口服 務(wù)器組件206B的AA-UI接口 API來收集經(jīng)過AA-UI-RTS遠(yuǎn)程組件320曝露 的接口請求的信息。AA-UI接口服務(wù)器組件206B可共享AA-UI接口客戶端組 件214B的部分或所有功能,從而AA-UI接口服務(wù)器組件206B可代表AA-UI 接口客戶端組件214B運行。AA-UI接口服務(wù)器組件206B從服務(wù)器UI 326獲 得所請求的輔助功能信息。
AA-UI-RTS遠(yuǎn)程組件320將所收集的信息串行化為字節(jié)消息,并通過虛擬 通道將其送回給AA-UI-RTS-in-proc組件314,并使ID標(biāo)簽保持原樣。
AA-UI-RTS-in-proc組件314通過利用ID標(biāo)簽來確定正確的AA-UI-RTS 本地組件,將從AA-UI-RTS遠(yuǎn)程組件320經(jīng)上述虛擬通道而來的消息,經(jīng)由所述命名的管道轉(zhuǎn)發(fā)至合適的AA-UI-RTS本地組件。為便于解釋,只描述一個 AA-UI-RTS本地組件308,但如下文所述,在一些實現(xiàn)中,可能有此組件或者 其他組件的多個實例在運行。AA-UI-RTS本地組件308接收響應(yīng)消息并將該消 息反串行化。在某些實例中,AA-UI-RTS本地組件308對該消息進(jìn)行后處理。
例如可對該消息進(jìn)行有關(guān)屬性值的后處理,以應(yīng)用偏移或者調(diào)整受RTS主存影 響的屬性。 一旦完成了任何適當(dāng)?shù)暮筇幚?,AA-UI-RTS本地組件308即發(fā)送經(jīng) 處理的信息至A A - UI接口客戶端組件214 B 。
這種后處理的一個例子涉及與被請求的元素在顯示上的位置有關(guān)的信息。 例如,假定AA客戶端請求與位圖表示310的左上角處的元素有關(guān)的輔助功能 相關(guān)信息。在服務(wù)器一方上獲得關(guān)于服務(wù)器UI 326的該信息。然而任何相關(guān)聯(lián) 的位置信息都與在本例中由客戶端UI 312內(nèi)的位圖表示310來表示的服務(wù)器 UI有關(guān)。在本例中,是相對于整個客戶端顯示224B來調(diào)整來自服務(wù)器UI的 位置信息。因此在本例中,定量地表達(dá),位于位圖表示的左上角的元素通常在 客戶端顯示224B的左上方象限內(nèi)的中部。熟悉此技術(shù)者當(dāng)知如何以定量方式 采取轉(zhuǎn)換??捎煽蛻舳私M件的任意組合來完成此相對位置調(diào)整以及其他后處 理。例如,AA-UI-RTS本地組件308或AA-UI接口客戶端組件214B可處理這 類調(diào)整。
進(jìn)一步地,在一些實現(xiàn)中可通過使在遠(yuǎn)程終端會話啟動時運行的組件數(shù)目 最小化來節(jié)省處理資源。其余的組件可響應(yīng)于諸如來自AA客戶端216B的信 息請求等的某些提示而運行。其他實現(xiàn)可在啟動之際運行和啟用上述組件中的 大部分或全部。
以上在其中客戶端顯示224B包括單個客戶端生成的UI 312和單個位圖表 示310的相對簡單的情景中描述了系統(tǒng)IOOB。熟悉此技術(shù)者應(yīng)可知,此系統(tǒng)配 置可在許多方面容易地調(diào)整規(guī)模。例如,可有多個與客戶端顯示224B相關(guān)的 AA客戶端應(yīng)用程序同時運行。作為替代選擇或補充,諸如AA-UI-RTS遠(yuǎn)程組 件320等的服務(wù)器一方的組件可處理與多個運行中的遠(yuǎn)程終端會話的多對一關(guān) 系。更進(jìn)一步地,其他實現(xiàn)可在客戶端顯示224B上采用遠(yuǎn)程UI的多個表示。 對客戶端機(jī)器的用戶而言,這些表示可由諸如視窗的邊界來清楚劃分界限,或 者可與本地生成的UI區(qū)分。
14在許多與RTS客戶端視窗相關(guān)的AA客戶端同時運行的例子中,利用了某 種區(qū)分各個AA客戶端的手段。在一個這種配置中, 一通信手段或管道專用于 每一 AA客戶端。各個管道可將個體的AA客戶端連接到共享的 AA-UI-RTS-in-proc 314或者VC主機(jī)客戶端318。
AA-UI-RTS-in-proc 314組件可被配置成多路復(fù)用每客戶端的管道與該單 個VC主機(jī)客戶端組件之間的客戶端請求和事件。在一個這種配置中, AA-UI-RTS-in-proc 314為每一 AA客戶端分配唯一性的標(biāo)識,并附加發(fā)送至 AA-UI-RTS遠(yuǎn)程組件320的包,AA-UI-RTS遠(yuǎn)程組件320視這些值為不透明, 但使它們保持原樣并將它們與事件一起回送,以使AA-UI-RTS-in-proc知曉要 對哪 一客戶端轉(zhuǎn)發(fā)該事件。
在這樣一個情景中,可由每一客戶端的AA-UI-RTS本地組件來處理與客 戶端顯示222B有關(guān)的坐標(biāo)的任何調(diào)整。此配置避免要求AA-UI-RTS-in-proc 組件理解其正在上述管道與VC之間轉(zhuǎn)發(fā)的任何消息的語義內(nèi)容。最終,它允 許AA-UI-RTS遠(yuǎn)程組件成為"客戶端不可知的",因為其不需要知曉個體的客 戶端或者代表它們跟蹤客戶端專屬狀態(tài)。將多路復(fù)用責(zé)任轉(zhuǎn)嫁AA-UI-RTS本地 組件還有助于將客戶端專屬狀態(tài)保持在AA-UI-RTS遠(yuǎn)程組件之外。
如上所述,至少某些實現(xiàn)可處理在客戶端顯示222B上涉及多個位圖表示 的情景。例如,多個遠(yuǎn)程應(yīng)用程序可在客戶端顯示222B上被表示為個體的位 圖表示。在這些配置中的一些里,RTS功能允許AA-UI接口創(chuàng)建多個虛擬通道。 其他配置可利用單個虛擬通道和單個對應(yīng)的AA-UI-RTS本地組件,后者相關(guān)于 在客戶端顯示224B上表示為位圖的個體的服務(wù)器一方應(yīng)用程序進(jìn)行多路復(fù)用。 一些配置則可在AA-UI-RTS本地組件與AA-UI-RTS-in-proc組件之間建立一 管道,從而使該管道本身由一特定服務(wù)器一方的應(yīng)用程序標(biāo)識。另一配置可每 客戶端使用一個管道,從而每一 AA-UI-RTS本地組件會利用一管道來與 AA-UI-RTS-in-proc組件對話,無論其是相對于哪一 RTS視窗工作。AA-UI-RTS 本地組件向其消息添加一允許AA-UI-RTS-in-proc組件確定上述請求涉及哪一 視窗的參數(shù)。其他配置可利用來自服務(wù)器的每一應(yīng)用程序視窗的句柄或HWND 來作為RTS客戶端狀態(tài)的可由AA-UI-RTS本地組件映射的另一可映射方面。
舉例來說,AA-UI-RTS本地組件可向AA-UI-RTS-in-proc組件發(fā)送一包含有該本地RTS客戶端窗口的HWND的消息。AA-UI-RTS-in-proc組件可回應(yīng)諸 如其視口、狀態(tài)以及遠(yuǎn)程HWND等的關(guān)于該RTS客戶端窗口狀態(tài)的信息。此 視口涉及關(guān)于RTS客戶端桌面的位置的信息。AA-UI-RTS本地組件隨后可將 此HWND作為其消息中的參數(shù)發(fā)送給AA-UI-RTS遠(yuǎn)程組件。此方法可允許 AA-UI-RTS-in-proc組件將幾乎所有消息視為不透明(除了那些特別請求RTS 視窗狀態(tài)的消息)。這允許使用每客戶端一管道的方法。實際上,AA-UI-RTS 本地組件負(fù)責(zé)在多個RTS視窗間進(jìn)行多路復(fù)用。在這一配置中,AA-UI-RTS 本地組件作出的對AA-UI-RTS遠(yuǎn)程組件的調(diào)用會包含一指示哪個HWND應(yīng)當(dāng) 被視為根或者根視窗的HWND參數(shù)。術(shù)語根視窗是指代頂層視窗。如上所述, 在某些情景中多個RTS客戶端表示在服務(wù)器桌面上的對應(yīng)視窗。這些視窗并未 被頂層RTS客戶端視窗所涵蓋,盡管它們表示的是同一服務(wù)器會話上的某個視 窗。在這些例子中,從AA客戶端到AA-UI-RTS-in-proc將可有兩種獨立請求。 有多種處理此情景的方法。舉例來說,AA-UI-RTS-in-proc可為每一具有 AA-UI-RTS遠(yuǎn)程組件的這種頂層視窗使用一專用虛擬通道。在這一配置中,通 道本身標(biāo)識AA客戶端正在引用哪 一 窗口 。作為替代選擇或補充, AA-UI-RTS-in-proc可對服務(wù)器使用單個虛擬通道,并多路復(fù)用傳來的針對各 個頂層RTS客戶端視窗的請求。在此方法中,AA-UI-RTS-in-proc為每 一請求 利用附加數(shù)據(jù)以標(biāo)識AA-UI接口客戶端正在引用哪 一 窗口 。此附加信息可以是 頂層視窗(根視窗)的句柄的形式。
系統(tǒng)100B只是在遠(yuǎn)程終端會話情景中啟用輔助功能的一種配置的示例。 此系統(tǒng)100的配置也是適合于在一基礎(chǔ)功能上添加模塊或插入組件而不是改寫 此基礎(chǔ)功能本身的指令的系統(tǒng)的一例。例如在此情形中,諸如RTS輔助功能支 持組件316、和VC主機(jī)客戶端318等的各個組件作為不同的模塊或插件被添 加到RTS客戶端組件212B的基礎(chǔ)功能之上。與定制RTS客戶端組件以提供所 需的功能相比,這種系統(tǒng)可擁有更短的開發(fā)周期和/或更加可靠等優(yōu)勢。進(jìn)一步 地,上述例子是關(guān)于整個遠(yuǎn)程桌面而描述的。在其他例子中,客戶端視窗可包 括遠(yuǎn)程桌面的子集,而非整個桌面。例如,此子集可以是特定遠(yuǎn)程應(yīng)用程序視 窗、以及此應(yīng)用程序視窗包含的UI。該應(yīng)用程序可包含一個或更多UI元素, 以及例如可包括UI元素的子樹。示例性系統(tǒng)環(huán)境
圖4示出用于在遠(yuǎn)程終端會話中啟用輔助功能的示例性系統(tǒng)或計算環(huán)境 400。系統(tǒng)環(huán)境400包括服務(wù)器設(shè)備或服務(wù)器102形式的通用計算系統(tǒng)。服務(wù) 器102的組件包括但不限于, 一個或更多處理器404 (例如任何微處理器、控 制器等等)、系統(tǒng)存儲器406、以及耦合各個系統(tǒng)組件的系統(tǒng)總線408。此一 個或更多處理器404處理各個計算機(jī)可執(zhí)行指令以控制服務(wù)器102的操作并與 其他電子和計算設(shè)備通信。系統(tǒng)總線408是指多種類型的總線結(jié)構(gòu)中的任意多 個,包括存儲器總線或存儲器控制器、外圍總線、加速圖形接口、以及利用各 種類型的總線架構(gòu)中的任何一種的處理器或者本地總線。
計算機(jī)環(huán)境400包括可以是可由服務(wù)器102訪問的任何介質(zhì)的各種計算機(jī) 可讀介質(zhì),并包括易失性和非易失性介質(zhì)、可移動或不可移動介質(zhì)。系統(tǒng)存儲 器406包括易失性內(nèi)存形式的計算機(jī)可讀介質(zhì),諸如隨機(jī)存取存儲器(RAM) 410;禾口/或非易失性內(nèi)存,諸如只讀存儲器(ROM) 412?;据斎胼敵鱿到y(tǒng) (BIOS) 414維持諸如在啟動期間幫助服務(wù)器102內(nèi)的各組件之間進(jìn)行信息傳 輸?shù)幕纠蹋Υ嬖赗OM 412中。RAM 410典型地包含可由處理器404 中的 一 個或多個立即訪問和/或正由其操作的數(shù)據(jù)和/或程序模塊。
服務(wù)器102可包括其他可移動/不可移動、易失性/非易失性計算機(jī)存儲介 質(zhì)。作為舉例,硬盤驅(qū)動器416讀寫不可移動、非易失性磁介質(zhì)(圖未示), 磁盤驅(qū)動器418讀寫可移動、非易失性磁盤420 (例如"軟盤"),而光盤驅(qū) 動器422讀寫諸如CD-ROM、數(shù)據(jù)通用盤(DVD)或任何其他類型任何光學(xué)介 質(zhì)等的可移動、非易失性光盤424。在此例中,硬盤驅(qū)動器416、磁盤驅(qū)動器 418以及光盤驅(qū)動器422各自由一個或多個數(shù)據(jù)介質(zhì)接口 426連接到系統(tǒng)總線 408。盤驅(qū)動器和相關(guān)的計算機(jī)可讀介質(zhì)為服務(wù)器102提供計算機(jī)可讀指令、 數(shù)據(jù)結(jié)構(gòu)、程序模塊及其他數(shù)據(jù)的非易失性存儲。
任何數(shù)目的程序模塊,例如包括操作系統(tǒng)426、 一個或多個應(yīng)用程序428、 其他程序模塊430、以及程序數(shù)據(jù)432,可被儲存在硬盤416、磁盤420、光盤 424、 ROM412禾P/或RAM410上。這種操作系統(tǒng)426、應(yīng)用程序428、其他程 序模塊430、以及程序數(shù)據(jù)432中的每一個(或其某種組合)可包括在此描述的系統(tǒng)和方法的實施例。
用戶可經(jīng)由諸如鍵盤434和定點設(shè)備436 (例如,"鼠標(biāo)")等任何數(shù)目 的不同輸入設(shè)備來與服務(wù)器102交互。其他輸入設(shè)備438 (未具體示出)可包 括麥克風(fēng)、操縱桿、游戲墊、控制器、衛(wèi)星天碟、串行端口、掃描儀、和/或其 他。這些及其他輸入設(shè)備通過耦合于系統(tǒng)總線408的輸入/輸出接口 440連接到 處理器404,但也可通過其他接口和總線結(jié)構(gòu),例如并行端口、游戲端口、和/ 或通用串行總線(USB)連接。
監(jiān)視器442或其他類型的顯示設(shè)備可通過諸如視頻適配器444的接口連接 到系統(tǒng)總線408。除監(jiān)視器442之外,其他外圍輸出設(shè)備可包括諸如揚聲器(圖 未示)和打印機(jī)446等可通過輸入/輸出接口 440連接到服務(wù)器102的組件。
服務(wù)器102可利用到一個或多個諸如遠(yuǎn)程客戶端設(shè)備或客戶端104的遠(yuǎn)程 計算機(jī)的邏輯連接來運行于連網(wǎng)環(huán)境中。舉例來說,遠(yuǎn)程客戶端104可以是個 人計算機(jī)、便攜式計算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)計算機(jī)、對等設(shè)備或其他普 通網(wǎng)絡(luò)節(jié)點等等。遠(yuǎn)程客戶端104被示為一可包含在此描述的許多或所有相關(guān) 于服務(wù)器102的要素或特征的便攜式計算機(jī)。
服務(wù)器102與遠(yuǎn)程客戶端104之間的邏輯連接被描述為局域網(wǎng)(LAN)450 或通用廣域網(wǎng)絡(luò)(WAN) 452。這種網(wǎng)絡(luò)化環(huán)境常見于辦公室、企業(yè)范圍計算 機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)、及互聯(lián)網(wǎng)中。當(dāng)在LAN網(wǎng)絡(luò)化環(huán)境中實現(xiàn)時,服務(wù)器102 通過網(wǎng)絡(luò)接口或適配器454連接到局域網(wǎng)450。當(dāng)在WAN網(wǎng)絡(luò)化環(huán)境中實現(xiàn) 時,服務(wù)器102典型地包括調(diào)制解調(diào)器456或其他用于在廣域網(wǎng)452上建立通 信的手段??蓛?nèi)置或外置于服務(wù)器102的調(diào)制解調(diào)器456可通過輸入/輸出接口 440或其他合適的機(jī)構(gòu)連接到系統(tǒng)總線408。所示的網(wǎng)絡(luò)連接是示例性的,還 可利用其他在計算設(shè)備402與448之間建立通信連接的手段。
在諸如以計算環(huán)境400示出的連網(wǎng)環(huán)境中,有關(guān)服務(wù)器102或描述的程序 模塊或其部分可儲存在遠(yuǎn)程存儲器存儲設(shè)備0中。舉例來說,遠(yuǎn)程應(yīng)用程序458 由遠(yuǎn)程客戶端104的存儲器設(shè)備維持。為解釋的目的,應(yīng)用程序或其他可執(zhí)行 程序組件,諸如操作系統(tǒng)426,在此被描述為分立的塊,盡管應(yīng)當(dāng)理解,這些 程序和組件在各個時期是駐留于服務(wù)器102的不同存儲組件中,并由服務(wù)器的 處理器404執(zhí)行。
18示例性過程
圖5示出一用于在遠(yuǎn)程終端會話中啟用輔助功能的示例性過程500。該過 程描述的次序不應(yīng)被解釋為限定,并且所描述的任何數(shù)目的過程框可以任何次 序組合來實現(xiàn)此過程。此外,此過程可由任何合適的硬件、軟件、固件或者其
組合來實現(xiàn)。
為解釋目的,以下過程框是在遠(yuǎn)程終端會話情景的背景中描述的,此遠(yuǎn)程 終端會話情景定義遠(yuǎn)程終端會話的服務(wù)器一方和客戶端一方。由此,在此特定 過程配置中,過程框502、 504、 510、 512和514發(fā)生在服務(wù)器一方,而過程 框506、 508和516發(fā)生在客戶端一方。
在框502,該過程生成一UI。該UI可包含一個或更多顯示元素,諸如圖 標(biāo)、工具欄、菜單等。該UI可被用來進(jìn)行相關(guān)于RTS客戶端的遠(yuǎn)程終端會話。 該UI可以是諸如像服務(wù)器桌面、單個應(yīng)用程序或某些其他配置這樣的完整UI。
在方框504,該過程將該UI的表示發(fā)送至RTS客戶端。在一個此類情形 中,RST功能使該UI的位圖表示被生成并發(fā)送到RTS客戶端。
在方框506,該過程在遠(yuǎn)程終端會話中檢測到來自輔助功能的關(guān)于該UI 的顯示元素的請求。在此特定過程配置中,這種檢測發(fā)生在客戶端一方。在其 他配置中,這種檢測可發(fā)生在服務(wù)器一方。該請求可涉及在遠(yuǎn)程終端會話中從 服務(wù)器接收的UI表示的某個部分。該請求可直接從AA組件接收,或者從諸如 像與AA組件協(xié)作運行的AA-UI接口這樣的中介組件接收。在一些配置中,作 請求的輔助功能可認(rèn)識到該請求是涉及UI的 一 部分,該部分僅僅是UI的表示。 在其他配置中,作請求的輔助功能可不具有任何區(qū)別實際UI與UI的表示的能 力。在后一配置中,可包含這樣一種功能,其確定該請求是涉及像本地生成的 UI這樣的實際UI,還是涉及遠(yuǎn)程生成的UI (從客戶端機(jī)器角度來看)的表示。 此功能隨后可根據(jù)情況適當(dāng)?shù)卦诒镜靥幚碓撜埱?,或者通過將該請求指向遠(yuǎn)程 組件來處理該請求。以下情景假定該請求涉及遠(yuǎn)程生成的UI或者其顯示元素。
在框508,該過程將涉及上述請求的查詢發(fā)送至位于生成該顯示元素的計 算設(shè)備上的一組件。在此例中,生成該顯示元素的計算設(shè)備被指定為服務(wù)器。 該查詢可通過一受助于遠(yuǎn)程終端會話的通信手段或者一獨立建立的通信手段
1來發(fā)送。
在框510,該過程在服務(wù)器一方接收到涉及該UI的査詢。在框512,該流
程響應(yīng)于該查詢而訪問UI信息。在一種此類這種配置中,該信息是通過在服 務(wù)器上運行、并被配置成從該UI獲得輔助功能相關(guān)信息的AA-UI接口功能來 從服務(wù)器UI獲得的。
在框514,所獲取的信息被發(fā)送至客戶端。可通過在框508用來發(fā)送請求 的相同通信手段或者其他合適的通信手段來發(fā)送該信息。
在框516,該過程在客戶端處接收對上述查詢的響應(yīng)。該響應(yīng)可被提供給 該輔助功能。在某些例子中,在將該響應(yīng)提供給輔助功能之前,對該請求進(jìn)行 進(jìn)一步處理。例如,可調(diào)整關(guān)于顯示元素的相對位置的信息以將整個客戶端顯 示的其他方面納入考慮。例如,顯示元素可以是從服務(wù)器接收的UI表示的一 部分。服務(wù)器提供了關(guān)于服務(wù)器UI的位置數(shù)據(jù),但UI的表示可僅構(gòu)成整個客 戶端顯示的一個子集,整個客戶端顯示還可包括本地生成的UI組件和/或其他 遠(yuǎn)程生成的組件。由此,可相對于整個客戶端顯示調(diào)整位置數(shù)據(jù)。在某些例子 中,可將此信息提供給代表AA運行的AA-UI接口功能。AA-UI接口可優(yōu)化或 以其他某種方式準(zhǔn)備該信息以供AA使用。
盡管以結(jié)構(gòu)特征和/或方法專用的語言描述了有關(guān)在遠(yuǎn)程終端會話中啟用 輔助功能的實現(xiàn),但是應(yīng)當(dāng)理解所附權(quán)利要求的主題并不必限于所描述的具體 特征和方法。確切而言,這些具體的特征和方法是提供了上述和下述概念的實 實現(xiàn)的示例。
權(quán)利要求
1、一種方法,包括在遠(yuǎn)程終端會話中檢測來自輔助功能的關(guān)于一顯示元素的請求;向位于生成了所述顯示元素的計算設(shè)備上的一組件發(fā)送涉及所述請求的查詢;以及接收對所述查詢的響應(yīng)。
2、 如權(quán)利要求1所述的方法,其特征在于,所述顯示元素包括為所述遠(yuǎn) 程終端會話生成的遠(yuǎn)程桌面的一部分。
3、 如權(quán)利要求1所述的方法,其特征在于,所述輔助功能包括 一輔助功 能工具用戶界面接口 (AA-UI接口)功能。
4、 如權(quán)利要求1所述的方法,其特征在于,所述發(fā)送包括曝露一配置成允許所述輔助功能與所述組件建立一虛擬通道的接口。
5、 如權(quán)利要求1所述的方法,進(jìn)一步包括啟用所述輔助功能以與一位 于生成所述顯示元素的計算設(shè)備上的輔助功能表示組件建立通信。
6、 如權(quán)利要求5所述的方法,其特征在于,所述啟用包括提供配置成允許所述輔助功能與所述輔助功能表示組件通信的接口。
7、 如權(quán)利要求5所述的方法,其特征在于,所述啟用包括為所述輔助功能提供用于運行配置成允許所述輔助功能與所述輔助功能表示組件通信的 -個或多個組件的接口。
8、 如權(quán)利要求1所述的方法,其特征在于,所述顯示元素包括單個用戶界面(UI)對象,并且所述方法進(jìn)一步包括將所述響應(yīng)作為反映所述UI對象的對象樹的節(jié)點呈遞給所述輔助功能。
9、 如權(quán)利要求8所述的方法,其特征在于,所述呈遞包括處理所述響應(yīng)以補償涉及所述遠(yuǎn)程終端會話的至少一個因素。
10、 如權(quán)利要求9所述的方法,其特征在于,所述至少一個因素包括調(diào)整從所述顯示元素的源獲得的位置數(shù)據(jù)以反映所述顯示元素相對于客戶端顯示的位置。
11、 如權(quán)利要求l所述的方法,其特征在于,所述發(fā)送包括通過由所述遠(yuǎn)程終端會話啟用的虛擬通道發(fā)送所述請求。
12、 一種包含計算機(jī)可執(zhí)行指令的計算機(jī)可讀介質(zhì),所述計算機(jī)可執(zhí)行指 令在被執(zhí)行時執(zhí)行以下動作生成一用戶界面(UI);將所述UI的表示發(fā)送至一遠(yuǎn)程終端會話客戶端; 接收涉及所述UI的査詢;以及 響應(yīng)于所述查詢而訪問UI信息。
13、 如權(quán)利要求12所述的計算機(jī)可讀介質(zhì),其特征在于,所述訪問是由- 響應(yīng)于所述接收而啟動的輔助功能工具用戶界面(AA-UI)接口組件來完成的。
14、 如權(quán)利要求12所述的計算機(jī)可讀介質(zhì),其特征在于,所述接收是由一響應(yīng)于接收到來自所述遠(yuǎn)程終端會話客戶端的啟動請求而啟動的組件來完 成的。
15、 如權(quán)利要求12所述的計算機(jī)可讀媒介,其特征在于,所述UI包括 UI元素的子樹。
16、 如權(quán)利要求12所述的計算機(jī)可讀媒介,進(jìn)一步包括通過由與所述終 端服務(wù)客戶端的終端服務(wù)會話啟用的通信裝置來將所述UI信息發(fā)送至所述客戶端。
17、 一種系統(tǒng),包括用于請求與在遠(yuǎn)程終端會話中顯示的顯示元素有關(guān)的輔助功能相關(guān)信息 的裝置;以及用于確定所述顯示元素是否為遠(yuǎn)程生成的裝置。
18、 如權(quán)利要求17所述的系統(tǒng),進(jìn)一步包括用于啟用與所述顯示元素的 遠(yuǎn)程源的通信的裝置,通過所述通信可獲得輔助功能相關(guān)信息。
19、 如權(quán)利要求18所述的系統(tǒng),其特征在于,所述用于啟用通信的裝置 提供至少一個接口,所述用于請求的裝置通過所述接口可訪問一用于與所述遠(yuǎn) 程源通信的通信裝置。
20、 如權(quán)利要求19所述的系統(tǒng),其特征在于,所述接口允許所述用于請 求的裝置在所述用于啟用通信的裝置的進(jìn)程邊界內(nèi)運行組件。
全文摘要
描述了涉及在遠(yuǎn)程終端會話情景中啟用輔助功能的技術(shù)。在一個實例中,一過程檢測到來自一輔助功能的關(guān)于在遠(yuǎn)程終端會話中的一顯示元素的請求。該過程向位于生成該顯示元素的計算機(jī)設(shè)備上的一組件發(fā)送涉及該請求的查詢。該過程還接收對該查詢的響應(yīng)。
文檔編號G06F15/16GK101506789SQ200680018445
公開日2009年8月12日 申請日期2006年4月13日 優(yōu)先權(quán)日2005年5月27日
發(fā)明者B·麥克昂, M·V·帕特瓦得漢, N·Y·阿伯多 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1