欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

使圖形窗口修改命令能夠被應(yīng)用到遠(yuǎn)程生成的圖形窗口的制作方法

文檔序號:6567567閱讀:300來源:國知局
專利名稱:使圖形窗口修改命令能夠被應(yīng)用到遠(yuǎn)程生成的圖形窗口的制作方法
使圖形窗口修改命令能夠被應(yīng)用到遠(yuǎn)程生成的圖形窗口
背景技術(shù)
遠(yuǎn)程終端會話支持產(chǎn)品,例如由微軟公司提供的終端服務(wù)TM產(chǎn)品,使客戶機(jī)
和服務(wù)器之間能夠進(jìn)行遠(yuǎn)程終端會話。所述遠(yuǎn)程終端會話(RTS)能夠使得圖形用戶 界面窗口(在下文中,稱為"圖形窗口"),例如應(yīng)用程序圖形窗口,在服務(wù)器上生 成。RTS使得遠(yuǎn)程生成的圖形窗口的表示,例如位像,顯示在客戶機(jī)上。所 述客戶機(jī)也可以自己生成客戶機(jī)上顯示的應(yīng)用程序圖形窗口 。所述客戶機(jī)的用戶可 以參與本地生成的應(yīng)用程序圖形窗口和遠(yuǎn)程生成的應(yīng)用程序圖形窗口之一或全部。 存在對為本地生成的應(yīng)用程序圖形窗口和遠(yuǎn)程生成的應(yīng)用程序圖形窗口提供相似 功能的技術(shù)的持續(xù)需求。
發(fā)明概述
描述了關(guān)于使圖形窗口修改命令能夠被應(yīng)用到遠(yuǎn)程生成的圖形窗口的技術(shù)。 在一個實(shí)施例中,一個處理過程在一個遠(yuǎn)程終端會話中檢測用于修改遠(yuǎn)程生成的應(yīng) 用程序圖形窗口的用戶命令。所述處理過程確定是在顯示所述遠(yuǎn)程生成的應(yīng)用程序 圖形窗口的本地機(jī)器上還是在生成所述遠(yuǎn)程生成的應(yīng)用程序圖形窗口的遠(yuǎn)程機(jī)器
上發(fā)起所述用戶命令。
附圖的簡要描述


圖1-6根據(jù)一個實(shí)施例示出了一個用于使圖形窗口修改命令能夠被應(yīng)用到遠(yuǎn) 程生成的圖形窗口的示例性系統(tǒng)。
圖7根據(jù)一個實(shí)施例示出了一個用于使圖形窗口修改命令能夠被應(yīng)用到遠(yuǎn)程 生成的圖形窗口的示例性系統(tǒng)。
圖8-9根據(jù)一個實(shí)施例示出了一種用于使圖形窗口修改命令能夠被應(yīng)用到遠(yuǎn)
程生成的圖形窗口的系統(tǒng)配置的示例性過程圖。
圖IO根據(jù)一個實(shí)施例示出了用于使圖形窗口修改命令能夠被應(yīng)用到遠(yuǎn)程生成
的圖形窗口的環(huán)境中的示例性系統(tǒng)、設(shè)備和組件。
圖ll根據(jù)一個實(shí)施例示出了一個用于使圖形窗口修改命令能夠被應(yīng)用到遠(yuǎn)程 生成的圖形窗口的示例性過程圖。
詳細(xì)描述
概觀
在 -個單機(jī)的計(jì)算情景中,用戶使用一臺被配置為生成包括一個或多個應(yīng)用 程序圖形窗口的用戶界面的機(jī)器。所述用戶可能希望修改單獨(dú)的應(yīng)用程序圖形窗 口。例如,所述用戶可能希望通過移動圖形窗口或調(diào)整圖形窗口的尺寸來修改單獨(dú) 的應(yīng)用程序圖形窗口。在移動/調(diào)整尺寸的過程中,所述機(jī)器的操作系統(tǒng)一般會提 供所述圖形窗口的一些可視化指示,從而所述用戶能夠目視新的圖形窗口尺寸和/ 或位置。在移動/調(diào)整尺寸的過程中,至少一些操作系統(tǒng)允許用戶選擇所述應(yīng)用程 序圖形窗口如何顯示。例如, 一些操作系統(tǒng)允許用戶從完整窗口模式或輪廓模式中 選擇。在移動/調(diào)整尺寸的過程中,完整窗口模式不斷地更新實(shí)質(zhì)上的整個應(yīng)用程 序圖形窗口。當(dāng)所述用戶結(jié)束移動/調(diào)整尺寸命令且所述移動/調(diào)整尺寸完成時,結(jié) 束所述更新。在輪廓模式下,在移動/調(diào)整尺寸的過程中,生成一條指示所述圖形 窗口的新位置/尺寸的虛線。當(dāng)所述移動/調(diào)整尺寸的過程完成時(例如,通過抬起鼠 標(biāo)鍵),所述虛線消失,并且所述應(yīng)用程序圖形窗口被更新到新的位置/尺寸。
遠(yuǎn)程終端會話包括作為服務(wù)器的第一遠(yuǎn)程機(jī)器,其被配置為向作為客戶端的 第二本地機(jī)器提供遠(yuǎn)程數(shù)據(jù)。正如與在單機(jī)的配置中一樣,所述用戶使用的本地機(jī) 器可以被配置為生成一個或多個本地生成的應(yīng)用程序圖形窗口,并且可以進(jìn)一步允 許用戶指定用于所述本地生成的應(yīng)用程序圖形窗口的移動/調(diào)整尺寸操作的模式。 運(yùn)行在遠(yuǎn)程機(jī)器上的應(yīng)用程序能夠生成服務(wù)器應(yīng)用程序圖形窗口。所述遠(yuǎn)程終端會 話被配置為使得服務(wù)器應(yīng)用程序圖形窗口的輸出或圖形能被發(fā)送到本地機(jī)器。在本 地機(jī)器上創(chuàng)建代理窗口,并且在所述代理圖形窗口上描繪服務(wù)器應(yīng)用程序的圖形以 創(chuàng)建遠(yuǎn)程生成的服務(wù)器應(yīng)用程序圖形窗口的本地表示。本實(shí)施例使得本地機(jī)器的用 戶所選的移動/調(diào)整尺寸的模式能夠被應(yīng)用到遠(yuǎn)程生成的應(yīng)用程序圖形窗口。至少
一些實(shí)施例達(dá)到了無縫的移動/調(diào)整尺寸操作,從而用戶可能無法基于移動/調(diào)整尺 寸的特征區(qū)分本地生成的應(yīng)用程序圖形窗口與遠(yuǎn)程生成的應(yīng)用程序圖形窗口。
從一般意義上說,在至少一些本實(shí)施例中,用于修改包含在遠(yuǎn)程終端會話中 的圖形窗口的用戶命令從客戶機(jī)被發(fā)送到生成圖形窗口的服務(wù)器。可以在服務(wù)器上 處理所述命令,其隨后相應(yīng)地更新所述圖形窗口。所述更新隨后被發(fā)送到和反映在 客戶端?;蛘?,所述命令可以被發(fā)回客戶機(jī)。所述客戶機(jī)可以在客戶端實(shí)現(xiàn)所述命 令,并把數(shù)據(jù)發(fā)回到服務(wù)器,從而允許服務(wù)器再同步所述圖形窗口以反映客戶端的 修改。
示例性系統(tǒng)
用于-解釋的目的,共同地考慮圖1-6,其示出了系統(tǒng)100,所述系統(tǒng)被配置為 支持遠(yuǎn)程機(jī)器102和本地機(jī)器104之間通過網(wǎng)絡(luò)106的遠(yuǎn)程終端會話。遠(yuǎn)程機(jī)器 102被配置為生成服務(wù)器應(yīng)用程序圖形窗口 110。本領(lǐng)域的技術(shù)人員將意識到,雖 然服務(wù)器應(yīng)用程序圖形窗口 IIO被可視化地呈現(xiàn)于此以用于解釋,但是本實(shí)施例無 需在遠(yuǎn)程機(jī)器上實(shí)際地生成可視化圖像即可工作。所述遠(yuǎn)程終端會話為將遠(yuǎn)程機(jī)器 的服務(wù)器應(yīng)用程序圖形窗口 IIO的表示通過網(wǎng)絡(luò)106發(fā)送到本地機(jī)器104提供了一 種手段。例如,所述表示可以是位像等。所述遠(yuǎn)程終端會話還可使在本地機(jī)器 104的客戶機(jī)桌面114上生成代理圖形窗口 112。服務(wù)器應(yīng)用程序圖形窗口的表示, 在此被指定為遠(yuǎn)程生成的應(yīng)用程序圖形窗口 116,可以被描繪或顯示在代理圖形窗 口 U2上面。為了便于說明,也在本地機(jī)器104的客戶機(jī)桌面114上示出了本地或 客戶機(jī)生成的應(yīng)用程序圖形窗口 118。為了便于解釋,在此,從位于被配置為顯示 本地和遠(yuǎn)程生成的應(yīng)用程序圖形窗口的機(jī)器的用戶的觀點(diǎn)角度,使用了術(shù)語"本地" 和"遠(yuǎn)程"。而且,為了便于闡述,遠(yuǎn)程生成的應(yīng)用程序圖形窗口 116在此被示為 占用代理圖形窗口 112的區(qū)域的一個子集。在許多實(shí)例中,在基本上所有的代理圖 形窗口上描繪遠(yuǎn)程生成的應(yīng)用程序圖形窗口 116,從而所述代理圖形窗口不可見。 此外,雖然在此示出的應(yīng)用程序圖形窗口一般近似于矩形,然而至少一些實(shí)施例適 于采用包括不規(guī)則形狀的任何形狀的應(yīng)用程序圖形窗口。系統(tǒng)IOO被配置為使圖形 窗口修改命令能夠被應(yīng)用到遠(yuǎn)程生成的圖形窗口 116。在這個特定的實(shí)施例中,系 統(tǒng)100還可被配置為支持用于應(yīng)用程序圖形窗口移動/調(diào)整尺寸的用戶所選模式, 無論所述圖形窗口是本地生成還是遠(yuǎn)程生成的。
為了解釋,假定本地機(jī)器104的用戶己經(jīng)為本地機(jī)器104選擇了圖形窗口移
動/調(diào)整尺寸的輪廓模式。進(jìn)一步假定用戶希望將本地生成的應(yīng)用程序圖形窗口 118 從圖1所顯示的第一尺寸擴(kuò)大到圖3所顯示的更大的尺寸。用戶可以通過發(fā)起圖形 窗口移動/調(diào)整尺寸過程的多種用戶命令實(shí)現(xiàn)這樣一個移動。例如, 一種類型的用
戶命令是通過系統(tǒng)菜單的系統(tǒng)命令。能夠發(fā)起圖形窗口移動/調(diào)整尺寸過程的其它 類型的用戶命令可以包括聲音識別、基于姿勢識別的照相機(jī),以及鍵盤輸入,等等。 另外一種用戶命令包括在圖形窗口上移動鼠標(biāo)光標(biāo)且當(dāng)拖動到一個新的位置時按 下并按住鼠標(biāo)按鍵。例如,用戶可以在本地生成的圖形窗口的邊緣上點(diǎn)擊,比如象
通常在120處所顯示的本地生成的應(yīng)用程序圖形窗口 118的右下邊緣。例如,用戶 可以壓下并按住鼠標(biāo)按鍵并向下拖到右側(cè),如通常由箭頭202所指示的那樣。本地 機(jī)器104創(chuàng)建本地生成的應(yīng)用程序圖形窗口 118的跟隨鼠標(biāo)運(yùn)動的輪廓204,直至 釋放鼠標(biāo)按鍵,例如通常在206所顯示的。鼠標(biāo)按鍵的釋放表示用戶完成了尺寸的 調(diào)整。 一旦用戶完成了尺寸的調(diào)整,本地生成的應(yīng)用程序圖形窗口 118即被調(diào)整為 與輪廓204相匹配,這可以從圖3中看出來。
現(xiàn)在進(jìn)一步假定用戶希望完成遠(yuǎn)程生成的應(yīng)用程序圖形窗口 116的尺寸調(diào)整。 用戶可能或不能夠區(qū)分遠(yuǎn)程生成的應(yīng)用程序圖形窗口 116是本地生成的應(yīng)用程序 圖形窗口,還是遠(yuǎn)程生成的應(yīng)用程序圖形窗口。例如,用戶可以在其感覺是遠(yuǎn)程生 成的應(yīng)用程序圖形窗口 116的右下角的地方點(diǎn)擊,如通常在402處顯示的那樣。用 戶看到遠(yuǎn)程生成的應(yīng)用程序圖形窗口 116,但是從遠(yuǎn)程終端會話的角度來看,用戶 是在其上繪有遠(yuǎn)程生成的應(yīng)用程序圖形窗口 116的下層的代理窗口 112上進(jìn)行點(diǎn) 擊。系統(tǒng)100被配置為檢測關(guān)于移動/調(diào)整代理圖形窗口 112尺寸的用戶命令,并 將所述命令轉(zhuǎn)發(fā)到服務(wù)器端。
在這個實(shí)施例中,用戶在遠(yuǎn)程生成的應(yīng)用程序圖形窗口 116和/或下層的代理 圖形窗口 112的右下邊緣或角落上向下點(diǎn)擊鼠標(biāo)。假定用戶在402處點(diǎn)擊并開始向 下拖動到右側(cè),如通常由箭頭502所指示的那樣。系統(tǒng)100響應(yīng)地生成代理圖形窗 口 112跟隨用戶光標(biāo)506的輪廓504,直至用戶釋放或向上點(diǎn)擊光標(biāo),例如在圖5 中由光標(biāo)506所指示的位置。在拖動操作期間,輪廓504的一部分位于遠(yuǎn)程應(yīng)用程 序的圖形窗口區(qū)域的外面。同樣地,在這種用戶已經(jīng)選擇了輪廓模式的情況下,在 本地機(jī)器104上處理用于移動/調(diào)整尺寸的用戶命令,以響應(yīng)于客戶機(jī)的命令開始 移動/調(diào)整尺寸。
--旦用戶調(diào)整尺寸的命令結(jié)束,所述代理圖形窗口 112被更新為輪廓504的 尺寸。然后,遠(yuǎn)程機(jī)器相對于更新后的代理圖形窗口的尺寸/位置更新應(yīng)用程序圖
形窗口 110。 一個相應(yīng)的更新后的遠(yuǎn)程生成的應(yīng)用程序圖形窗口 116被發(fā)送到本地 機(jī)器104,以使遠(yuǎn)程生成的應(yīng)用程序圖形窗口 116與代理圖形窗口 112同步,這可 以從圖6中看出來。系統(tǒng)100允許遠(yuǎn)程生成的應(yīng)用程序圖形窗口的移動/調(diào)整尺寸 功能,所述移動/調(diào)整尺寸功能近似或模仿對本地生成的應(yīng)用程序圖形窗口的移動/ 調(diào)整尺寸功能。雖然為了解釋,上面描述了調(diào)整圖形窗口的尺寸,然而,圖形窗口 的移動可以以相似的方式進(jìn)行處理。
上面和下面描述的實(shí)施例是在現(xiàn)在通常遇到的計(jì)算環(huán)境的背景下描述的。可 以通過計(jì)算機(jī)可執(zhí)行指令或代碼手段來執(zhí)行多種實(shí)例,例如由個人計(jì)算機(jī)或PC之 類的計(jì)算機(jī)所執(zhí)行的程序模塊。 一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽 象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。
可以在除PC以外的計(jì)算機(jī)系統(tǒng)配置中實(shí)現(xiàn)多種實(shí)例。例如,可以在手持設(shè)備、 多處理器系統(tǒng)、基于微處理器或可編程的消費(fèi)型電子產(chǎn)品、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、 大型計(jì)算機(jī)、蜂窩電話等設(shè)備中實(shí)現(xiàn)多種實(shí)施例。而且,隨著技術(shù)的繼續(xù)發(fā)展,可 以在尚未被識別的類型的設(shè)備上實(shí)現(xiàn)多種實(shí)施例。例如,隨著處理能力單位成本繼 續(xù)降低,以及無線技術(shù)的發(fā)展,類似于現(xiàn)在的蜂窩電話的計(jì)算設(shè)備可以在單個移動 設(shè)備中實(shí)現(xiàn)現(xiàn)在的PC、攝像機(jī)、蜂窩電話等功能。所述單個設(shè)備在一個情景中可 以作為服務(wù)器,而在另一個情景中可作為客戶機(jī)。這只是所描述的實(shí)施例現(xiàn)有的和 正發(fā)展的多個實(shí)例中的一個。
在此使用的術(shù)語"服務(wù)器"和"客戶機(jī)"并不是暗示兩個設(shè)備任何相對的性 能??蛻魴C(jī)可以擁有比服務(wù)器更高、更低或相等的處理性能。相反,在這篇文檔中, 名稱"服務(wù)器"和"客戶機(jī)"描述兩個組件的相對關(guān)系。例如,第一或服務(wù)器設(shè)備 遠(yuǎn)離第二或客戶機(jī)設(shè)備的計(jì)算體驗(yàn)。
雖然可以如上面所建議的那樣,將多種實(shí)施例合并到多種類型的操作環(huán)境中, 在示例性通用計(jì)算設(shè)備的上下文下,在圖11中僅描述了一個示例性的環(huán)境,所述 環(huán)境稍后將在該文檔的章節(jié)標(biāo)題"示例性操作環(huán)境"下進(jìn)行更加詳細(xì)的描述。
考慮圖7,其示出了被配置為對用戶相對于本地生成的應(yīng)用程序圖形窗口和遠(yuǎn) 程生成的應(yīng)用程序圖形窗口的修改命令提供相似外觀或用戶界面的系統(tǒng)100A。系 統(tǒng)100A被配置為支持通過網(wǎng)絡(luò)106A進(jìn)行遠(yuǎn)程機(jī)器102A和本地機(jī)器104A之間的 遠(yuǎn)程終端會話。
遠(yuǎn)程機(jī)器102A包括一個服務(wù)器遠(yuǎn)程應(yīng)用程序管理器702、 一個圖形窗口管理 器704,以及一個或多個運(yùn)行在服務(wù)器操作系統(tǒng)(OS)708上的服務(wù)器應(yīng)用程序706。
本地機(jī)器104A包括一個客戶機(jī)遠(yuǎn)程應(yīng)用程序管理器710,并且可以包括一個或多 個運(yùn)行在客戶機(jī)操作系統(tǒng)(OS)714上的客戶機(jī)應(yīng)用程序712。像在此使用的服務(wù)器 應(yīng)用程序706和客戶機(jī)應(yīng)用程序712的例子可以包括打開圖形界面的任何代碼手 段。例如,這樣的應(yīng)用程序可以包括文字處理應(yīng)用程序、電子制表軟件應(yīng)用程序、 消息通信應(yīng)用程序、記事本類型應(yīng)用程序、圖形應(yīng)用程序、例如由微軟公司提供的 Windows Explorer品牌文件瀏覽器一類的文件瀏覽器工具、控制面板工具、添加硬 件、網(wǎng)絡(luò)連接、以及視頻游戲的圖形工具等等。
配置系統(tǒng)100A,從而位于本地機(jī)器104A的用戶可以修改例如應(yīng)用程序圖形 窗口 118A的本地生成的應(yīng)用程序圖形窗口,以及例如遠(yuǎn)程生成的應(yīng)用程序圖形窗 U16A的遠(yuǎn)程生成的應(yīng)用程序圖形窗口,所述修改例如移動/調(diào)整尺寸,并且可以 在這兩種情況中接收相似的或同樣的用戶界面。例如,如果用戶已經(jīng)為移動/調(diào)整 圖形窗口尺寸的操作選擇了輪廓模式,那么系統(tǒng)100A被配置為向本地生成的應(yīng)用 程序圖形窗口和遠(yuǎn)程生成的應(yīng)用程序圖形窗口提供輪廓模式的移動/調(diào)整尺寸操 作。
系統(tǒng)100A被配置為確定用戶選擇的本地機(jī)器的移動/調(diào)整尺寸模式。然后, 系統(tǒng)100A被配置成基于用戶為應(yīng)用程序圖形窗口移動/調(diào)整尺寸操作所選擇的模 式處理用戶圖形窗口移動/調(diào)整尺寸的命令,無論圖形窗口是本地生成還是遠(yuǎn)程生 成的。有關(guān)本地生成的應(yīng)用程序圖形窗口的用戶命令在本地機(jī)器上以傳統(tǒng)的方式進(jìn) 行處理。系統(tǒng)100A被配置為基于用戶選擇的模式處理有關(guān)遠(yuǎn)程生成的應(yīng)用程序圖 形窗口的用戶命令。如果用戶已經(jīng)選擇了完整圖象模式,所述命令在服務(wù)器端進(jìn)行 處理,而結(jié)果顯示在客戶端。如果用戶己經(jīng)選擇了輪廓模式,那么系統(tǒng)100A被配 置為在客戶機(jī)代理圖形窗口 112A上發(fā)起移動/調(diào)整尺寸命令,然后,服務(wù)器端應(yīng)用 程序圖形窗口 110A被相應(yīng)地更新,以再同步代理圖形窗口 112A和遠(yuǎn)程生成的應(yīng) 用程序圖形窗口 116A。下面關(guān)于完成上面提及的功能描述系統(tǒng)100A的兒個組件。
服務(wù)器遠(yuǎn)程應(yīng)用程序管理器702被配置為促進(jìn)服務(wù)器端的遠(yuǎn)程終端會話功能。 所述服務(wù)器遠(yuǎn)程應(yīng)用程序管理器被配置為管理服務(wù)器應(yīng)用程序706,使得服務(wù)器應(yīng) 用程序圖形窗口 110A的表示可以在遠(yuǎn)程終端會話中被發(fā)送到本地機(jī)器104A。所 述服務(wù)器遠(yuǎn)程應(yīng)用程序管理器702也被配置為便于從服務(wù)器到客戶端傳遞關(guān)于服 務(wù)器應(yīng)用程序圖形窗口 110A的數(shù)據(jù)。例如,在服務(wù)器上可以運(yùn)行多個應(yīng)用程序, 然而只有一個所述應(yīng)用程序遠(yuǎn)離客戶機(jī)104A。在一些實(shí)施例中,所述服務(wù)器遠(yuǎn)程 應(yīng)用程序管理器702被配置為確保來自適當(dāng)?shù)膽?yīng)用程序窗口的數(shù)據(jù)被發(fā)送到客戶
機(jī)。
圖形窗口管理器704被配置為處理用戶關(guān)于單獨(dú)的服務(wù)器圖形窗口的交互。
圖形窗口管理器處理與單獨(dú)圖形窗口的交互,它是以通過例如在應(yīng)用程序的圖標(biāo)上 點(diǎn)擊鼠標(biāo)的用戶命令運(yùn)行單獨(dú)的圖形窗口開始的。圖形窗口管理器響應(yīng)于用戶的命 令而打開圖形窗口,并且,有關(guān)圖形窗口的隨后用戶命令通過圖形窗口管理器來指示。在這個實(shí)例中,服務(wù)器遠(yuǎn)程應(yīng)用程序管理器702還被配置為要求圖形窗口管理 器704向服務(wù)器遠(yuǎn)程應(yīng)用程序管理器702通知關(guān)于任何圖形窗口相關(guān)事件。然后, 圖形窗口管理器向服務(wù)器遠(yuǎn)程應(yīng)用程序管理器通知何時運(yùn)行新的圖形窗口、何時移 動和/或調(diào)整圖形窗口的尺寸、以及最小化等事件。服務(wù)器遠(yuǎn)程應(yīng)用程序管理器702 被配置為分析它從圖形窗口管理器704接收到的信息,并且確定哪些信息,如果有 的話,是與遠(yuǎn)程終端會話中遠(yuǎn)離客戶機(jī)的圖形窗口相關(guān)的。服務(wù)器遠(yuǎn)程應(yīng)用程序管 理器也被配置為向客戶機(jī)轉(zhuǎn)發(fā)有關(guān)遠(yuǎn)程終端會話中涉及的圖形窗口的信息。例如, 服務(wù)器遠(yuǎn)程應(yīng)用程序管理器702可以向客戶機(jī)發(fā)送信息,以便于服務(wù)器應(yīng)用程序圖 形窗口和相應(yīng)的客戶機(jī)代理圖形窗口之間的同步。
客戶機(jī)遠(yuǎn)程應(yīng)用程序管理器710被配置為和服務(wù)器建立遠(yuǎn)程終端會話,并且 處理與遠(yuǎn)程終端會話相關(guān)的服務(wù)器的互連??蛻魴C(jī)遠(yuǎn)程應(yīng)用程序管理器也被配置為 使在本地機(jī)器104A上生成代理圖形窗口 112A,以及使在代理圖形窗口 112A上, 以遠(yuǎn)程生成的應(yīng)用程序圖形窗口 116A的形式,描繪服務(wù)器應(yīng)用程序圖形窗口 110A 的表示??蛻魴C(jī)遠(yuǎn)程應(yīng)用程序管理器710還被配置為至少部分地基于從服務(wù)器遠(yuǎn)程 應(yīng)用程序管理器702接收的關(guān)于相應(yīng)的服務(wù)器應(yīng)用程序圖形窗口 IIOA的信息,處 理關(guān)于客戶機(jī)的代理圖形窗口 11.2A的尺寸和尺度的細(xì)節(jié)。
客戶機(jī)遠(yuǎn)程應(yīng)用程序管理器710也被配置為接收關(guān)于本地機(jī)器104A的移動/ 調(diào)整尺寸的模式的信息。例如,并且象上面所提及的,在一些實(shí)施例中,本地機(jī)器 可以處于輪廓模式或完整窗口模式??蛻魴C(jī)遠(yuǎn)程應(yīng)用程序管理器710被配置為與服 務(wù)器遠(yuǎn)程應(yīng)用程序管理器702共享本地機(jī)器的移動/調(diào)整尺寸模式。
客戶機(jī)遠(yuǎn)程應(yīng)用程序管理器710也被配置為將關(guān)于單獨(dú)的代理圖形窗口的客 戶機(jī)命令轉(zhuǎn)發(fā)到遠(yuǎn)程機(jī)器102A,在那里所述命令由服務(wù)器遠(yuǎn)程應(yīng)用程序管理器702 接收。服務(wù)器遠(yuǎn)程應(yīng)用程序管理器被配置為在服務(wù)器端與圖形窗口管理器704協(xié)作地實(shí)現(xiàn)客戶機(jī)命令。
系統(tǒng)IOOA被配置為檢測關(guān)于修改例如代理圖形窗口 112A的遠(yuǎn)程終端會話中 所涉及的圖形窗口的用戶命令。例如,可以由客戶機(jī)遠(yuǎn)程應(yīng)用程序管理器710或者在服務(wù)器端例如由服務(wù)器遠(yuǎn)程應(yīng)用程序管理器702來完成這樣的檢測。例如,服務(wù)器遠(yuǎn)程應(yīng)用程序管理器702可以被配置為評估關(guān)于代理圖形窗口 112A的窗口命 令,以檢測用戶是否正在鼓動圖形窗口相對于代理圖形窗口 112A進(jìn)行移動或調(diào)整 尺寸。用戶可以采用多種可能方法中的一種來開始圖形窗口的移動/調(diào)整尺寸。例 如,用戶可以發(fā)送一個圖形窗口移動/調(diào)整尺寸的適當(dāng)?shù)南到y(tǒng)命令,例如通過使用 系統(tǒng)的菜單。在另一個例子中,用戶可以在圖形窗口的標(biāo)題/邊界上按壓鼠標(biāo)按鍵, 然后拖動圖形窗口。例如,為了實(shí)現(xiàn)圖形窗口移動/調(diào)整尺寸的命令,用戶可以在 圖形窗口的非工作空間的部分點(diǎn)擊鼠標(biāo)。這樣的非工作空間的部分可以包括邊緣 (圖l-6示出的)或標(biāo)題720等,如關(guān)于代理圖形窗口 112A所指示的那樣。在許多 配置中,如果用戶希望調(diào)整圖形窗口的尺寸,則用戶在圖形窗口的邊緣上點(diǎn)擊,而 如果用戶希望移動圖形窗口,則在標(biāo)題上點(diǎn)擊。
在一個檢測到移動/調(diào)整尺寸的實(shí)例中,系統(tǒng)100A還被配置為將圖形窗口的 移動和圖形窗口的尺寸調(diào)整區(qū)別開。基于如上提及的本地機(jī)器是處于完整圖象模式 還是輪廓模式,系統(tǒng)IOOA被配置為采取適當(dāng)?shù)男袆觼硗瓿捎脩舻拿?。在一種這 樣的特定系統(tǒng)配置的例子中,服務(wù)器遠(yuǎn)程應(yīng)用程序管理器702被配置為檢測用戶關(guān) f遠(yuǎn)程機(jī)器102A和本地機(jī)器104A之間的遠(yuǎn)程終端會話的代理圖形窗口的移動/ 調(diào)整尺寸命令。服務(wù)器遠(yuǎn)程應(yīng)用程序管理器702也被配置為與用戶所選的完整圖象 模式或輪廓模式的移動/調(diào)整尺寸模式相一致地采取適當(dāng)?shù)男袆觼硗瓿梢苿覣調(diào)整 尺寸的命令。
在這個實(shí)例中,服務(wù)器遠(yuǎn)程應(yīng)用程序管理器702被配置為確定用戶命令是否 關(guān)于相對于遠(yuǎn)程終端會話中所涉及的圖形窗口的窗口/調(diào)整尺寸操作。 一旦確定正 在發(fā)起移動、調(diào)整尺寸命令,服務(wù)器遠(yuǎn)程應(yīng)用程序管理器702即基于用戶選擇的圖 形窗口移動/調(diào)整尺寸的模式采取行動。在這個特定的實(shí)施例中,如果移動/調(diào)整尺 寸的模式是完整圖象,那么服務(wù)器遠(yuǎn)程應(yīng)用程序管理器702在服務(wù)器上處理所述命 令,并且相應(yīng)地更新服務(wù)器應(yīng)用程序圖形窗口 UOA。當(dāng)更新服務(wù)器應(yīng)用程序圖形 窗口時,相應(yīng)的表示被發(fā)送到客戶機(jī),并且所述表示被顯示為更新后的遠(yuǎn)程生成的 應(yīng)用程序圖形窗口 116A。代理圖形窗口 112A的尺寸或位置被調(diào)整為對應(yīng)于所述 更新后的遠(yuǎn)程生成的應(yīng)用程序圖形窗口 116A。
此外,在這個實(shí)施例中,當(dāng)用戶選擇的移動/調(diào)整尺寸的模式是輪廓模式時, 服務(wù)器遠(yuǎn)程應(yīng)用程序管理器702被配置為向客戶機(jī)遠(yuǎn)程應(yīng)用程序管理器710發(fā)送用 戶命令。在客戶機(jī)桌面116A上生成反映用戶命令的代理圖形窗口 112A的輪廓。
一旦完成客戶機(jī)命令之后,關(guān)于代理圖形窗口的新尺寸和/或位置的位置數(shù)據(jù)被發(fā) 送到遠(yuǎn)程機(jī)器,在那里,服務(wù)器應(yīng)用程序圖形窗口被更新為與新的代理圖形窗口同 步。更新后的表示被發(fā)送到本地機(jī)器,并被顯示為更新后的遠(yuǎn)程生成的應(yīng)用程序圖形窗口 116A,所述應(yīng)用程序圖形窗口被描繪在代理圖形窗口 U2A上。
替換或額外地,對于上面提及的區(qū)分輪廓模式和完整圖象模式的實(shí)施例而言,系統(tǒng)100A可以以同樣的方式處理完整圖像和輪廓模式。例如,不管用戶選擇什么 模式,例如輪廓或完整圖像,系統(tǒng)100可以在服務(wù)器接收用戶移動/調(diào)整尺寸的命 令,并且將用戶移動/調(diào)整尺寸的命令和/或相關(guān)數(shù)據(jù)發(fā)送到客戶機(jī)。可以在客戶端 發(fā)起用戶命令,而在隨后更新服務(wù)器端,從而使服務(wù)器和客戶機(jī)再同步。同樣地, 在一些實(shí)例中,系統(tǒng)100A可以決定在服務(wù)器端發(fā)起所有的用戶命令,而不考慮用 戶選擇的修改模式。
考慮圖8-9,其共同地示出了過程800,所述過程提供了一個系統(tǒng)100A是如 何為用戶關(guān)于本地生成的應(yīng)用程序圖形窗口和遠(yuǎn)程生成的應(yīng)用程序圖形窗口的移 動Z調(diào)整尺寸的命令提供相似的用戶界面的例子。當(dāng)然,系統(tǒng)100A只提供了一種結(jié) 構(gòu)性配置,所述配置能夠?yàn)楸镜厣傻暮瓦h(yuǎn)程生成的應(yīng)用程序圖形窗口承兌用戶選 擇的移動/調(diào)整尺寸的模式。圖8-9包含^-種情景,在所述情景中,本地機(jī)器104A 的用戶已經(jīng)為本地機(jī)器104A的應(yīng)用程序圖形窗口選擇了輪廓移動/調(diào)整尺寸的模 式。如上所提及的,其它實(shí)施例可以以同樣的方式而不是區(qū)分二者地處理輪廓模式 和完整圖象模式。同樣地,雖然是在窗口移動/調(diào)整尺寸情景的上下文中提供了該 例子,但是該過程可以被應(yīng)用到其它的用戶命令,以修改遠(yuǎn)程生成的應(yīng)用程序窗口。
在步驟802,在本地機(jī)器的代理圖形窗口上檢測用戶按下鼠標(biāo)按鍵的命令。在 步驟804,鼠標(biāo)按鍵按下的通知被發(fā)送到客戶機(jī)遠(yuǎn)程應(yīng)用程序管理器710。由于服 務(wù)器遠(yuǎn)程應(yīng)用程序管理器702還沒有指示客戶機(jī)遠(yuǎn)程應(yīng)用程序管理器發(fā)起客戶端 的尺寸調(diào)整,所以,在步驟806,所述過程繼續(xù)將鼠標(biāo)按鍵按下的信息轉(zhuǎn)發(fā)到服務(wù)器端。
在步驟806,鼠標(biāo)按鍵按下的通知從客戶端被發(fā)送到服務(wù)器端。在這個特定配 置中,鼠標(biāo)按鍵按下的通知從客戶機(jī)遠(yuǎn)程應(yīng)用程序管理器710被發(fā)送到服務(wù)器遠(yuǎn)程 應(yīng)用程序管理器702。在步驟808,服務(wù)器遠(yuǎn)程應(yīng)用程序管理器將鼠標(biāo)按鍵按下的 通知轉(zhuǎn)發(fā)到服務(wù)器應(yīng)用程序圖形窗口 11OA。
在步驟810,在服務(wù)器應(yīng)用程序窗口 IIOA開始圖形窗口的尺寸調(diào)整。在至少 一些實(shí)施例中,用戶行為的檢測在用戶行為發(fā)生之后進(jìn)行。例如,用戶可以在窗口的一個角落上點(diǎn)擊,并開始用鼠標(biāo)拖動窗口,所述窗口的尺寸調(diào)整過程在用戶點(diǎn)擊 之后的時間開始。同樣地,從用戶的角度來看,直到用戶的行為實(shí)際上開始之后, 才在服務(wù)器應(yīng)用程序窗口上開始圖形窗口的尺寸調(diào)整。這樣的實(shí)施例避免了其中處 理過程錯誤地預(yù)測用戶打算開始調(diào)整尺寸的命令,并開始關(guān)聯(lián)的尺寸調(diào)整的情況。
在步驟812,所述過程向服務(wù)器遠(yuǎn)程應(yīng)用程序管理器702發(fā)送一個通知,聲明正在調(diào)整一個特定圖形窗口的尺寸。某些實(shí)施例可以發(fā)送一個帶有適當(dāng)參數(shù)的通 知,以聲明正在移動圖形窗口或調(diào)整圖形窗口的尺寸,所述參數(shù)用以區(qū)分正在進(jìn)行 的是移動還是尺寸調(diào)整。在某些配置中,該事件的關(guān)聯(lián)參數(shù)可以指示移動/調(diào)整尺寸的類型。
在步驟814, 一個獲取圖形窗口參數(shù)的請求從服務(wù)器遠(yuǎn)程應(yīng)用程序管理器702 被發(fā)送到服務(wù)器應(yīng)用程序圖形窗口 IIOA。利用所述獲取圖形窗口參數(shù)的請求來確 保在客戶機(jī)上對代理圖形窗口的尺寸調(diào)整不超過由服務(wù)器強(qiáng)加的限制。在步驟 816,所述過程從服務(wù)器應(yīng)用程序圖形窗口 710向服務(wù)器遠(yuǎn)程應(yīng)用程序管理器702 發(fā)送圖形窗口參數(shù)。
在步驟818,所述過程從服務(wù)器端向客戶端發(fā)送圖形窗口參數(shù)。在這個特定配 置中,從服務(wù)器遠(yuǎn)程應(yīng)用程序管理器702向客戶機(jī)遠(yuǎn)程應(yīng)用程序管理器710發(fā)送所 述圖形窗U參數(shù)。
在歩驟820,所述過程計(jì)算所需要的鼠標(biāo)位置。該步驟解決了與本地和遠(yuǎn)程機(jī) 器之間的通信相關(guān)聯(lián)的潛在等待時間的問題。例如,當(dāng)用戶在客戶端的代理圖形窗 口上的第一位置點(diǎn)擊鼠標(biāo)按鍵,并開始將鼠標(biāo)移動到一個新的位置時,等待時間或 延遲可以導(dǎo)致用戶已經(jīng)將鼠標(biāo)移動或拖曳到了第二位置。為了避免錯誤的結(jié)果,在 服務(wù)器檢測到的鼠標(biāo)輸入被施加回客戶機(jī)之前,鼠標(biāo)被有效地放回到所述第一位 置。該步驟有效地將狀態(tài)還原到用戶"點(diǎn)擊"鼠標(biāo)的時間點(diǎn)。
為了解釋,假定當(dāng)用戶點(diǎn)擊鼠標(biāo)時鼠標(biāo)在本地機(jī)器上位于xoy。,并且因?yàn)榈?待時間,在數(shù)據(jù)從服務(wù)器返回到客戶端的隨后時間點(diǎn),鼠標(biāo)位于x,y,。該步驟將鼠 標(biāo)移回到xoy。,發(fā)起點(diǎn)擊,然后快速地將鼠標(biāo)拖回到xov這樣一個過程對于用戶 來說通常很快,以致于無法檢測。該步驟用于避免下述情形用戶在一個應(yīng)用程序 圖形窗口上點(diǎn)擊并且將鼠標(biāo)拖動到另一個圖形窗口上,由于缺乏這樣一個等待時間 的調(diào)整,所述過程可能徹底地錯過第一應(yīng)用程序圖形窗口,并開始拖動第二應(yīng)用程 序圖形窗口。該步驟將鼠標(biāo)還原到原始位置,然后將它移動到新的位置。在許多實(shí) 例中,該過程發(fā)生的非??欤灾掠谟脩糁皇强匆娨粋€拖動的圖形窗口出現(xiàn)在鼠標(biāo)出現(xiàn)過的最后位置。
在步驟822,所述過程從服務(wù)器端向客戶端發(fā)送移動/調(diào)整尺寸開始的信息, 例如從服務(wù)器遠(yuǎn)程應(yīng)用程序管理器702向客戶機(jī)遠(yuǎn)程應(yīng)用程序管理器710發(fā)送。該 步驟用于從服務(wù)器端向客戶端發(fā)送正確的鼠標(biāo)位置。
在步驟824,所述過程獲取關(guān)于服務(wù)器端圖形窗口位置的數(shù)據(jù)。關(guān)于圖形窗口 的數(shù)據(jù)可以指示右邊緣、左邊緣、角落、標(biāo)題等等。所述過程至少部分地利用該數(shù) 據(jù),來確定是否應(yīng)該進(jìn)行尺寸的調(diào)整。所以該步驟提供了允許所述過程確定用戶所 打算的命令的信息。例如,用戶是否打算擴(kuò)展圖形窗口的右側(cè),或者用戶是否打算 將圖形窗口擴(kuò)展到底部和右側(cè)。
在步驟826,所述過程將客戶端代理窗口的位置與服務(wù)器端圖形窗口的位置進(jìn) 行比較。服務(wù)器發(fā)送的鼠標(biāo)位置包含相對于服務(wù)器的坐標(biāo)。該過程將服務(wù)器坐標(biāo)轉(zhuǎn) 換成客戶機(jī)坐標(biāo)。在某些實(shí)例中可以去掉該步驟。轉(zhuǎn)換由服務(wù)器發(fā)送的鼠標(biāo)位置, 從而將鼠標(biāo)位置映射到客戶機(jī)代理圖形窗口上。例如,在至少 一些實(shí)施例中,為矩 形窗口形狀實(shí)行的進(jìn)行如下轉(zhuǎn)換
*鼠標(biāo)光標(biāo)X=客戶機(jī)窗口矩形左側(cè)+服務(wù)器上窗口和鼠標(biāo)位置的偏移量X
*鼠標(biāo)光標(biāo)Y-客戶機(jī)窗口矩形頂部+服務(wù)器上窗口和鼠標(biāo)位置的偏移量Y
矩形圖形窗口形狀是一種常見的形狀,其提供了解釋的基礎(chǔ)。本領(lǐng)域的技術(shù) 人員將意識到所述過程也適于用于其它的圖形窗口形狀。
在步驟828,所述過程阻塞圖形窗口的更新到達(dá)服務(wù)器端。到這時,所述過程 意識到在客戶端正在進(jìn)行尺寸的調(diào)整,或者將要進(jìn)行尺寸調(diào)整。通過設(shè)置某種類型 的標(biāo)記,告知服務(wù)器端停止更新應(yīng)用程序圖形窗口,直至完成尺寸的調(diào)整等來實(shí)現(xiàn) 該步驟。從服務(wù)器的觀點(diǎn)來看,用戶已經(jīng)停止移動鼠標(biāo),但是尺寸的調(diào)整還會發(fā)生。 這樣的步驟可以用于節(jié)省處理資源。
在步驟830,所述過程從客戶機(jī)遠(yuǎn)程應(yīng)用程序管理器710向代理圖形窗口 112A 發(fā)送一個模擬鼠標(biāo)按鍵按下的命令。該步驟用于完成在步驟802處檢測到的原始鼠 標(biāo)按鍵按下命令。回想如果在步驟802沒有對服務(wù)器端產(chǎn)生鼠標(biāo)按鍵按下命令,但 是該命令最終會被發(fā)送到服務(wù)器端。步驟830用于在客戶機(jī)完成在步驟802檢測到 的原始鼠標(biāo)按鍵按下命令。
在步驟832,所述過程請求一個對應(yīng)于在步驟802檢測到的原始鼠標(biāo)按鍵按下 的位置的相對圖形窗口位置。例如,所述請求針對將鼠標(biāo)按鍵按下的位置與相對圖 形窗口位置相關(guān)聯(lián)。例如,該點(diǎn)是否對應(yīng)于圖形窗口的右邊緣、左邊緣、右下角等?
在步驟834,所述過程向客戶機(jī)遠(yuǎn)程應(yīng)用程序管理器查詢從對應(yīng)于步驟806 的鼠標(biāo)按鍵按下位置的鼠標(biāo)位置轉(zhuǎn)換來的鼠標(biāo)位置數(shù)據(jù)。在步驟836,客戶機(jī)遠(yuǎn)程 應(yīng)用程序管理器710返回對應(yīng)于鼠標(biāo)位置的鼠標(biāo)位置數(shù)據(jù)。
在步驟838,所述過程開始在客戶端進(jìn)行圖形窗口的尺寸調(diào)整。在步驟840, 所述過程結(jié)束在客戶端進(jìn)行的圖形窗口的尺寸調(diào)整。
在步驟842,所述過程接收圖形窗口的尺寸調(diào)整已經(jīng)完成的通知。在步驟844, 所述過程退出調(diào)整尺寸狀態(tài)。例如,客戶機(jī)遠(yuǎn)程應(yīng)用程序管理器710可以以鼠標(biāo)按 鍵抬起命令的形式接收通知,以退出調(diào)整尺寸的過程。
在步驟846,鼠標(biāo)按鍵抬起命令從客戶端被發(fā)送到服務(wù)器端,例如從客戶機(jī)遠(yuǎn) 程應(yīng)用程序管理器710到服務(wù)器遠(yuǎn)程應(yīng)用程序管理器702。在步驟848,客戶機(jī)遠(yuǎn) 程應(yīng)用程序管理器向服務(wù)器應(yīng)用程序圖形窗口提供鼠標(biāo)按鍵抬起命令。連續(xù)步驟 844-848對應(yīng)于關(guān)于步驟804-808所描述的鼠標(biāo)按鍵按下命令,并用于還原系統(tǒng)或 過程的正常狀態(tài)。
在步驟850,所述過程結(jié)束服務(wù)器應(yīng)用程序圖形窗口上的圖形窗口的尺寸調(diào) 整。在步驟852,所述過程重新開始關(guān)于服務(wù)器應(yīng)用程序圖形窗口的服務(wù)器更新。 在步驟854,所述過程提供圖形窗口改變位置通知。
在步驟856,所述過程從服務(wù)器端向客戶端更新代理圖形窗口位置和/或尺寸。 在歩驟858,所述過程更新遠(yuǎn)程應(yīng)用程序代理圖形窗口 112A的位置和/或尺寸。
關(guān)于圖8-9所描述的步驟僅為用戶相對于本地生成的應(yīng)用程序圖形窗口和遠(yuǎn) 程生成的應(yīng)用程序圖形窗口的移動/調(diào)整尺寸的命令實(shí)現(xiàn)相似的用戶界面提供了一 個示例性實(shí)施例。其它的實(shí)施例可以包含更少或更多的步驟來實(shí)現(xiàn)相似的功能。
示例性系統(tǒng)環(huán)境
圖10表示了一種示例性的系統(tǒng)或計(jì)算環(huán)境1000,其被配置為使得圖形窗口修 改模式能夠被應(yīng)用到遠(yuǎn)程生成的圖形窗口。系統(tǒng)1000包括一個以第一機(jī)器1001 和第二機(jī)器1002的形式的通用計(jì)算系統(tǒng)。在該實(shí)例中,所述第一和第二機(jī)器被配 置為支持遠(yuǎn)程終端會話,從而所述第一和第二機(jī)器中的任何一個可以作為用戶在其 上進(jìn)行操作的本地機(jī)器,而所述第一和第二機(jī)器中的另一個可以作為遠(yuǎn)程或服務(wù)器 機(jī)器。
第一機(jī)器1001的組件可以包括但不局限于一個或多個處理器1004(例如任 何微處理器、控制器等等)、系統(tǒng)存儲器1006、以及耦合多種系統(tǒng)組件的系統(tǒng)總線
1008。所述一個或多個處理器1004處理多種計(jì)算機(jī)可執(zhí)行指令,以控制第一機(jī)器 001的操作,以及與其它電子計(jì)算設(shè)備進(jìn)行通信。所述系統(tǒng)總線1008代表幾種類 型中任意數(shù)量的總線結(jié)構(gòu),包括存儲總線或存儲控制器、外圍總線、加速圖形端口、 以及使用多種總線結(jié)構(gòu)中的任意一種的處理器或局部總線。
系統(tǒng)1000包括多種計(jì)算機(jī)可讀介質(zhì),其中所述介質(zhì)可以是任何可由第一機(jī)器 IOOI訪問的介質(zhì),并且包括易失性和非易失性介質(zhì),可移動的和不可移動的介質(zhì)。 所述系統(tǒng)存儲器1006包括易失性存儲器形式的計(jì)算機(jī)可讀介質(zhì),例如隨機(jī)存取存 儲器(RAM)IOIO,和/或非易失性存儲器,例如只讀存儲器(ROM)1012。基本輸入/ 輸出系統(tǒng)(BIOS)1014保存便于例如在啟動期間在第一機(jī)器1001內(nèi)部的組件之間進(jìn) 行信息傳遞的基本例程,所述基本輸入/輸出系統(tǒng)被存儲在ROM 1012中。RAM 1010 —般包含可由所述處理器1004周昂的一個或多個立即訪問的和/或當(dāng)前在其 上進(jìn)行操作的數(shù)據(jù)和/或程序模塊。
第一機(jī)器1001可以包括其它可移動/不可移動、易失性/非易失性的計(jì)算機(jī)存 儲介質(zhì)。作為例子,硬盤驅(qū)動器1016讀取和寫入不可移動的、非易失性的磁性介 質(zhì)(未示出),磁盤驅(qū)動器1018讀取和寫入可移動的、非易失性的磁盤1020(例如"軟 盤"),以及光盤驅(qū)動器1022讀取和/或?qū)懭肟梢苿拥?、非易失性的光盤1024,例 如CD-ROM、數(shù)字通用盤(DVD)、或任何其它類型的光學(xué)介質(zhì)。在這個例子中, 硬盤驅(qū)動器1016、磁盤驅(qū)動器1018,以及光盤驅(qū)動器1022都通過一個或多個數(shù)據(jù) 介質(zhì)接口 1026被連接到系統(tǒng)總線1008。所述盤驅(qū)動器及關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)為 第一機(jī)器1001提供了計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的非易失 性存儲。
在硬盤1016、磁盤1020、光盤1024、 ROM 1012,和/或RAM 1010上可以存 儲任意數(shù)量的程序模塊,例如包括操作系統(tǒng)1026、 一個或多個應(yīng)用程序1028、其 它程序模塊1030,以及程序數(shù)據(jù)1032。每個這樣的操作系統(tǒng)1026、應(yīng)用程序1028、 其它程序模塊1030,以及程序數(shù)據(jù)1032(或它們的某些組合)可以包括在此描述的 系統(tǒng)和方法的實(shí)施例。
用戶可以通過諸如鍵盤1034和定點(diǎn)設(shè)備1036(例如"鼠標(biāo)")的任意數(shù)目的多 種不同輸入設(shè)備與第一機(jī)器1001通過接口連接。其它的輸入設(shè)備1038(沒有明確 地示出)可以包括麥克風(fēng)、操縱桿、游戲手柄、控制器、圓盤式衛(wèi)星天線、串行端 口、掃描儀、和/或類似的設(shè)備。通過耦合到系統(tǒng)總線1008的輸入/輸出接口 1040 將這些以及其它的輸入設(shè)備連接到處理器1004,但是也可以采用諸如并行端口、游戲端口、和/或通用串行總線(USB)的其它接口和總線結(jié)構(gòu)來連接。
通過諸如視頻適配器1044的接口,可以將監(jiān)視器1042或其它類型的顯示設(shè) 備連接到系統(tǒng)總線1008。除了監(jiān)視器1042,其它的輸出外圍設(shè)備可以包括諸如揚(yáng) 聲器(未示出)和打印機(jī)1046的組件,所述揚(yáng)聲器和打印機(jī)可以通過輸入/輸出接口 1040被連接到第一機(jī)器1001。
第一機(jī)器1001可以利用到諸如第二機(jī)器1002的一臺或多臺遠(yuǎn)程計(jì)算機(jī)的邏 輯連接來運(yùn)行在網(wǎng)絡(luò)環(huán)境中。舉個例子,所述第二機(jī)器1002可以是個人計(jì)算機(jī)、 便攜式計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)計(jì)算機(jī)、對等設(shè)備或其它普通的網(wǎng)絡(luò)節(jié)點(diǎn), 等等。第二機(jī)器1002被示為一種可以包括在此相對于第一機(jī)器1001描述的多種或 所有元素和特征的便攜式計(jì)算機(jī)。
第一機(jī)器1001和第二機(jī)器1002之間的邏輯連接被描述為一種局域網(wǎng) (LAN)1050和一般的廣域網(wǎng)(WAN)1052。這樣的網(wǎng)絡(luò)環(huán)境在辦公室、企業(yè)范圍的計(jì) 算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)、以及因特網(wǎng)中是很普遍的。當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中實(shí)施時,所 述第一機(jī)器1001通過網(wǎng)絡(luò)接口或適配器1054被連接到本地網(wǎng)絡(luò)1050。當(dāng)在WAN 網(wǎng)絡(luò)環(huán)境中實(shí)施時,所述第一機(jī)器1001 —般包括用于通過廣域網(wǎng)1052建立通信的 調(diào)制解調(diào)器1056或其它裝置??蓛?nèi)置或外置于第一機(jī)器1001的所述調(diào)制解調(diào)器 1056可以通過輸入/輸出接口 1040或其它適當(dāng)?shù)臋C(jī)制被連接到系統(tǒng)總線1008。所 示出的網(wǎng)絡(luò)連接是示例性的,并且可以采用其它建立第一和第二機(jī)器1001、 1002 之間的通信連接的手段。
在例如以系統(tǒng)1000為例示出的網(wǎng)絡(luò)環(huán)境中,相對于第一機(jī)器1001所描述的 程序模塊或它的--部分可以被存儲在遠(yuǎn)程存儲器存儲設(shè)備中。例如,利用第二機(jī)器 1002的存儲器設(shè)備保存遠(yuǎn)程應(yīng)用程序1058。雖然認(rèn)識到,諸如操作系統(tǒng)1026的應(yīng) 用程序和其它可執(zhí)行程序組件在不同的時期駐留在所述第一機(jī)器1001的不同存儲 組件中,并且由所述第一機(jī)器的處理器1004執(zhí)行,但是為了便于說明,在此將這 樣的程序和組件示為離散的塊。
示例性過程
圖ll示出了一個用于使圖形窗口修改命令能夠被應(yīng)用到遠(yuǎn)程生成的圖形窗口 的示例性過程1100。不希望將描述所述過程所采取的順序解釋為一種限制,而且 可以按照任意的順序組合多個所描述的過程塊來實(shí)現(xiàn)所述過程。此外,可以用任何 適合的硬件、軟件、固件或它們的組合實(shí)現(xiàn)所述過程。
在塊1102,所述過程在遠(yuǎn)程終端會話中檢測用于修改遠(yuǎn)程生成的應(yīng)用程序圖 形窗口的用戶命令。遠(yuǎn)程終端會話能夠提供遠(yuǎn)程應(yīng)用能力。遠(yuǎn)程終端會話用于從第 一或服務(wù)器機(jī)器向第二或客戶機(jī)機(jī)器遙控應(yīng)用程序圖形窗口。在客戶機(jī)機(jī)器上創(chuàng)建 代理窗口,并且在代理窗口上描繪來自服務(wù)器應(yīng)用程序圖形窗口的顯示數(shù)據(jù),以創(chuàng) 建遠(yuǎn)程生成的應(yīng)用程序圖形窗口。用戶可以利用多種方法來發(fā)出關(guān)于修改圖形窗口 的命令。例如,如本領(lǐng)域的技術(shù)人員應(yīng)該認(rèn)識到,用戶可通過使用系統(tǒng)菜單來向窗 口發(fā)送一個適當(dāng)?shù)南到y(tǒng)命令。在另一個例子中,用戶可以在圖形窗口的標(biāo)題或邊界 上按壓鼠標(biāo)按鍵,然后拖動圖形窗口。用戶輸入的其它多種例子可以包括聲音識別 命令以及照相機(jī)檢測到的用戶動作,等等。
在一些實(shí)施例中,在客戶機(jī)機(jī)器檢測關(guān)于代理圖形窗口的用戶修改命令。在 其它的實(shí)施例中,將關(guān)于代理圖形窗口的用戶輸入或命令自動發(fā)送到服務(wù)器機(jī)器, 作為遠(yuǎn)程終端會話的一部分。在這樣實(shí)例中,可以在服務(wù)器機(jī)器上檢測關(guān)于窗口修 改的用戶命令。上面對照圖7只描述了被配置為檢測關(guān)于遠(yuǎn)程生成的應(yīng)用程序圖形 窗口的用戶窗口修改命令的系統(tǒng)的一個例子。
在塊1104,所述過程確定是在顯示所述遠(yuǎn)程生成的應(yīng)用程序圖形窗口的本地 機(jī)器上還是在生成遠(yuǎn)程生成的應(yīng)用程序圖形窗口的遠(yuǎn)程機(jī)器上發(fā)起所述用戶命令。 在一些實(shí)施例中,可以在服務(wù)器發(fā)起所有的修改。在其它的實(shí)施例中,可以在客戶 機(jī)發(fā)起所有的修改。在另外的實(shí)施例中,在服務(wù)器上發(fā)起某些用戶修改命令,而在客戶機(jī)發(fā)起其它的用戶修改命令。塊1106-1116只提供了一個示例性的例子,所述 例子示出了如何實(shí)現(xiàn)這樣的判斷和如何完成客戶機(jī)修改命令,使得在第一情景中, 在服務(wù)器發(fā)起所述用戶命令,而在第二情景中,在客戶機(jī)發(fā)起所述用戶命令。
對照塊1106-1116所描述的所述過程基于例如完整圖象模式或輪廓模式的用 戶為客戶機(jī)修改模式選擇的模式調(diào)整所述過程。在某些環(huán)境下,與其它過程相比, 這樣的實(shí)施例可能能夠提供一個從美學(xué)觀點(diǎn)上更加令人愉快的用戶界面。如上面所 注釋的,其它的示例性過程同樣地對待所有的修改模式而不是區(qū)別對待這些可利用 的模式并相應(yīng)地定諱ij所述響應(yīng)。
在這個特定的實(shí)施例中,在塊1106,所述過程確定所述客戶機(jī)機(jī)器是否處于 輪廓模式中。在一些實(shí)例中,用戶先前己經(jīng)選擇了圖形窗口移動/調(diào)整尺寸的模式, 或者由于沒有進(jìn)行這樣的用戶選擇,所述客戶機(jī)機(jī)器可以缺省地進(jìn)入特定模式。在 任一種情況中,可以從客戶機(jī)機(jī)器向服務(wù)器機(jī)器分發(fā)所述圖形窗口移動/調(diào)整尺寸 的模式。例如,所述客戶機(jī)機(jī)器可以自動地報(bào)告它的圖形窗口移動/調(diào)整尺寸的模
式。在其它的配置中,所述服務(wù)器機(jī)器可以向客戶機(jī)機(jī)器査詢窗口移動/調(diào)整尺寸 的模式。在這些實(shí)例中,如果客戶機(jī)機(jī)器處于輪廓模式,那么所述過程前進(jìn)到塊 1108,否則,所述過程前進(jìn)到塊1110。
在塊1108,所述過程向客戶機(jī)機(jī)器傳送關(guān)于用戶移動/調(diào)整尺寸命令的數(shù)據(jù)。 然后,所述過程前進(jìn)到塊1112。
在塊111o,所述過程在服務(wù)器機(jī)器上發(fā)起用戶移動/調(diào)整尺寸命令。例如,可
以更新所述服務(wù)器應(yīng)用程序圖形窗口以反映用戶命令。用于更新客戶機(jī)代理圖形窗 口的通信用于更新客戶機(jī),并且更新后的服務(wù)器應(yīng)用程序圖形窗口被遙控并被描繪 在所述更新后的代理圖形窗口上。
在塊1112,所述過程在客戶機(jī)機(jī)器的代理圖形窗口上發(fā)起圖形窗口的移動/ 調(diào)整尺寸。在-個實(shí)施例中,客戶機(jī)從服務(wù)器機(jī)器接收移動/調(diào)整尺寸的開始信息, 并且在遠(yuǎn)程應(yīng)用程序的代理圖形窗口上開始相應(yīng)的移動/尺寸調(diào)整。開始所述圖形 窗口移動/調(diào)整尺寸的方式可以依賴于所述用戶發(fā)出的移動/調(diào)整尺寸的命令原始 是怎樣開始的。例如,如果用戶是利用系統(tǒng)菜單開始移動/調(diào)整尺寸,那么可以利 用一個適當(dāng)?shù)南到y(tǒng)命令將系統(tǒng)命令消息傳遞到代理圖形窗口。對于鼠標(biāo)發(fā)起的移動 /調(diào)整尺寸,所述客戶機(jī)在代理圖形窗口上執(zhí)行相應(yīng)的動作。
在塊1114,響應(yīng)于在客戶端代理圖形窗口上完成用戶命令,所述過程更新服 務(wù)器應(yīng)用程序圖形窗口。在塊1116,所述過程傳送被更新后的服務(wù)器應(yīng)用程序圖 形窗口,以再同步所述遠(yuǎn)程生成的應(yīng)用程序窗口和所述客戶機(jī)代理圖形窗口。
雖然已經(jīng)以結(jié)構(gòu)特征和/或方法專用的語言描述了關(guān)于使圖形窗口修改命令能 夠被應(yīng)用到遠(yuǎn)程生成的圖形窗口的實(shí)施例,但是應(yīng)該理解,所附權(quán)利要求的主題不 必限定為所描述的具體特征或方法。相反地,所述具體特征和方法為上面和下面所 描述的概念提供了實(shí)施的例子。
權(quán)利要求
1.一種方法,包括在第一機(jī)器生成一個應(yīng)用程序圖形窗口;與遠(yuǎn)程終端會話相一致地向第二機(jī)器發(fā)送所述應(yīng)用程序圖形窗口的一個表示;檢測來自所述第二機(jī)器、用于修改所述表示的用戶命令;向所述第二機(jī)器傳送關(guān)于所述用戶命令的數(shù)據(jù),以允許所述第二機(jī)器修改相應(yīng)的客戶機(jī)代理圖形窗口;響應(yīng)于在客戶機(jī)代理窗口上完成所述用戶命令,更新所述應(yīng)用程序窗口以對應(yīng)于所述代理窗口;以及向所述第二機(jī)器傳送所述應(yīng)用程序窗口的更新后的表示。
2. 根據(jù)權(quán)利要求1所述的方法,其中,所述檢測包括檢測正在進(jìn)行的用戶命令。
3. 根據(jù)權(quán)利要求1所述的方法,其中,所述檢測包括檢測用戶鼠標(biāo)按鍵按下點(diǎn)擊。
4. 根據(jù)權(quán)利要求3所述的方法,其中,所述傳送包括傳送關(guān)于當(dāng)鼠標(biāo)按鍵按 下點(diǎn)擊發(fā)生時所述鼠標(biāo)所處的第一位置和更新后的第二鼠標(biāo)位置的數(shù)據(jù)。
5. 根據(jù)權(quán)利要求1所述的方法,其中,所述更新包括接收關(guān)于所述代理圖形 窗口的參數(shù),以及相應(yīng)地更新所述應(yīng)用程序圖形窗口。
6. 根據(jù)權(quán)利要求1所述的方法,其中,所述用于修改所述表示的用戶命令包 括用于調(diào)整所述表示的尺寸的用戶命令。
7. 根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括接收一個指示所述第二機(jī)器的用 戶所選的圖形窗口修改模式的通信。
8. 根據(jù)權(quán)利要求7所述的方法,其中,所述用戶所選的圖形窗口修改模式是 關(guān)于圖形窗口的移動或圖形窗口的尺寸調(diào)整中的至少一種的。
9. 根據(jù)權(quán)利要求7所述的方法,還包括至少部分地基于用戶所選的圖形窗口 修改模式,確定是在所述第一機(jī)器上還是在所述第二機(jī)器上發(fā)起所述用戶命令。
10. --種包括計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),當(dāng)執(zhí)行所述指令時,執(zhí) 行以下動作,包括在遠(yuǎn)程終端會話中檢測用于修改遠(yuǎn)程生成的應(yīng)用程序圖形窗口的用戶命令;以及確定是在顯示所述遠(yuǎn)程生成的應(yīng)用程序圖形窗口的本地機(jī)器還是在生成所述 遠(yuǎn)程生成的應(yīng)用程序圖形窗口的遠(yuǎn)程機(jī)器發(fā)起所述用戶命令。
11. 根據(jù)權(quán)利要求10所述的計(jì)算機(jī)可讀介質(zhì),其中,用于修改所述遠(yuǎn)程生成 的應(yīng)用程序圖形窗口的用戶命令包括用于移動或在尺寸上調(diào)整(移動/調(diào)整尺寸)所 述遠(yuǎn)程生成的應(yīng)用程序圖形窗口的用戶命令。
12. 根據(jù)權(quán)利要求IO所述的計(jì)算機(jī)可讀介質(zhì),其中,所述檢測和所述確定發(fā) 生在所述遠(yuǎn)程機(jī)器上。
13. 根據(jù)權(quán)利要求IO所述的計(jì)算機(jī)可讀介質(zhì),其中,所述檢測包括檢測正在 進(jìn)行的用戶命令。
14. 根據(jù)權(quán)利要求IO所述的計(jì)算機(jī)可讀介質(zhì),其中,所述確定至少部分地依 賴于所述本地機(jī)器的圖形窗口修改模式。
15. 根據(jù)權(quán)利要求14所述的計(jì)算機(jī)可讀介質(zhì),其中,在所述修改模式包括輪 廓模式的情況中,向所述本地機(jī)器發(fā)送關(guān)于用戶命令的信息,以允許在所述本地機(jī) 器發(fā)起相應(yīng)的修改過程。
16. 根據(jù)權(quán)利要求15所述的計(jì)算機(jī)可讀介質(zhì),還包括接收關(guān)于在所述本地機(jī) 器所采取的針對所述遠(yuǎn)程生成的應(yīng)用程序圖形窗口的行動的信息。
17. —種系統(tǒng),包括用于從遠(yuǎn)程機(jī)器接收遠(yuǎn)程生成的應(yīng)用程序圖形窗口以及用于生成能在其上描 繪所述遠(yuǎn)程生成的應(yīng)用程序圖形窗口的代理圖形窗口的裝置;用于向所述遠(yuǎn)程機(jī)器轉(zhuǎn)發(fā)關(guān)于所述代理窗口的用戶窗口修改命令的裝置; 用于從所述遠(yuǎn)程機(jī)器接收關(guān)于用戶修改命令的參數(shù)的裝置;以及 用于基于所述參數(shù)在所述代理窗口上發(fā)起所述用戶窗口修改命令的裝置。
18. 根據(jù)權(quán)利要求17所述的系統(tǒng),其中,用于接收參數(shù)的裝置包括一個遠(yuǎn)程 終端會話組件。
19. 根據(jù)權(quán)利要求17所述的系統(tǒng),其中,所述用戶圖形窗口修改命令是關(guān)于 圖形窗口的移動或圖形窗口的尺寸調(diào)整中的至少一種的。
20. 根據(jù)權(quán)利要求17所述的系統(tǒng),還包括用于向所述遠(yuǎn)程機(jī)器轉(zhuǎn)發(fā)關(guān)于更新 后的代理圖形窗口的數(shù)據(jù)的裝置。
全文摘要
描述了關(guān)于使圖形窗口修改命令能夠被應(yīng)用到遠(yuǎn)程生成的圖形窗口的技術(shù)。在一個實(shí)例中,一個處理過程在一個遠(yuǎn)程終端會話中檢測用于修改遠(yuǎn)程生成的應(yīng)用程序圖形窗口的用戶命令。所述處理過程確定是在顯示所述遠(yuǎn)程生成的應(yīng)用程序圖形窗口的本地機(jī)器上還是在生成所述遠(yuǎn)程的應(yīng)用程序圖形窗口的遠(yuǎn)程機(jī)器上發(fā)起所述用戶命令。
文檔編號G06F15/16GK101203842SQ200680018420
公開日2008年6月18日 申請日期2006年5月5日 優(yōu)先權(quán)日2005年6月21日
發(fā)明者I·J·雷徹特林, R·瑪哈簡 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
永川市| 化德县| 田阳县| 台州市| 静乐县| 怀来县| 儋州市| 拉萨市| 连州市| 菏泽市| 台前县| 垦利县| 礼泉县| 高雄县| 剑阁县| 鹤壁市| 永福县| 寿阳县| 郯城县| 开江县| 紫阳县| 甘德县| 兴城市| 磐安县| 新邵县| 武城县| 罗源县| 沁水县| 丰城市| 桐城市| 安图县| 万荣县| 南通市| 葵青区| 岑巩县| 湘乡市| 吕梁市| 本溪市| 洪洞县| 香格里拉县| 芜湖县|