国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      移除遮擋的應(yīng)用共享的制作方法

      文檔序號:7612448閱讀:275來源:國知局
      專利名稱:移除遮擋的應(yīng)用共享的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明一般地涉及遠(yuǎn)程呈現(xiàn)會話,更具體地涉及應(yīng)用共享。
      背景技術(shù)
      雖然計算機(jī)曾經(jīng)一度是孤立的并且與其他計算機(jī)具有最小的或很少的交互,但是現(xiàn)在計算機(jī)通過局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、撥號連接等等與各種各樣的其他計算機(jī)進(jìn)行交互。隨著因特網(wǎng)的廣泛增長,計算機(jī)之間的連接已經(jīng)變得更加重要并且已經(jīng)開發(fā)了許多新的應(yīng)用程序和技術(shù)。大規(guī)模網(wǎng)絡(luò)的增長以及低成本個人計算機(jī)的廣泛可用性已經(jīng)從根本上改變了許多人工作、交互、通信、以及玩樂的方式。網(wǎng)絡(luò)通信的一種日益增加的流行形式一般被稱為遠(yuǎn)程呈現(xiàn)系統(tǒng),其能使用諸如遠(yuǎn)程桌面協(xié)議(RDP)、獨(dú)立計算體系結(jié)構(gòu)(ICA)、以及其他協(xié)議來與遠(yuǎn)程客戶機(jī)共享桌面和其他應(yīng)用。這樣的計算系統(tǒng)通常將來自客戶機(jī)的鍵盤按壓和鼠標(biāo)點(diǎn)擊或選擇傳送到服務(wù)器, 通過網(wǎng)絡(luò)連接(例如,因特網(wǎng))將屏幕更新轉(zhuǎn)播回其他方向。由此,當(dāng)實(shí)際上僅僅向客戶機(jī)設(shè)備發(fā)送如在服務(wù)器側(cè)上出現(xiàn)的應(yīng)用的屏幕截圖時,用戶具有好像他們的機(jī)器正在本地地執(zhí)行應(yīng)用的體驗(yàn)。這些遠(yuǎn)程呈現(xiàn)會話技術(shù)中有被稱為應(yīng)用共享或窗口共享的一類技術(shù)。這些技術(shù)允許第一計算機(jī)處的第一用戶與第二計算機(jī)處的第二用戶共享一個或多個窗口。在許多情況中,第一用戶不想要與第二用戶共享其整個桌面,而僅共享這些特定共享的窗口(下文中稱為“共享窗口”)。此外,當(dāng)非共享窗口部分阻擋或遮擋共享窗口時也可能有問題。就第二用戶而言該非共享窗口可引起混亂,第二用戶不能看到共享窗口的全部而可能看到不完整的一些窗口。以往的用于共享窗口的技術(shù)基于單獨(dú)地從呈現(xiàn)的計算機(jī)桌面提取窗口,然后根據(jù)計算機(jī)桌面確定其什么部分對應(yīng)于共享窗口或應(yīng)用,接下來覆蓋非共享區(qū)域(用不透明圖案)以使得桌面該部分的內(nèi)容不可見。即,這些技術(shù)從桌面的內(nèi)容開始,從桌面中隱去非共享區(qū)域。這些技術(shù)不允許顯示共享窗口中在桌面上被遮擋的部分(至少部分被另一窗口或其它圖形對象覆蓋)或向受者顯示共享和非共享窗口兩者的替換表示(諸如非共享窗口存在,且這是共享窗口的一部分被遮擋的原因)。

      發(fā)明內(nèi)容
      因此,提供移除遮擋的窗口共享的技術(shù)將是一種改進(jìn)。本發(fā)明的技術(shù)在可能時從共享的窗口中移除遮擋,且在這樣的遮擋不可被移除時,向共享窗口的觀看者提供這些遮擋存在的視覺指示。在一實(shí)施例中,生成合成位圖——尺寸為其中要共享至少一個窗口的計算機(jī)桌面的空白位圖。合成位圖包括共享遮擋區(qū)域——合成位圖的這些部位對應(yīng)于被遮擋的共享窗口中不能被確定的各部分(窗口的該部位的圖形表示未存儲在可訪問存儲器區(qū)域中)—— 以及共享非遮擋區(qū)域——合成位圖的這些部分對應(yīng)于共享窗口中可被確定的部分。然后通過一次一個窗口地將這些共享窗口的全部或一部分復(fù)制到桌面來構(gòu)建該合成位圖以構(gòu)成被發(fā)送給客戶機(jī)的共享窗口。遍歷桌面的窗口來確定這些窗口的ζ次序(每一窗口相對于每一其它窗口的深度;兩個窗口何時占據(jù)相同的坐標(biāo)、哪一窗口將遮擋另一窗口)。然后,從最后面的窗口(即具有最大ζ深度的窗口)開始,檢查該窗口來確定桌面上該窗口占據(jù)的位置(包括窗口的任何被遮擋部分)、該窗口是否是共享的以及該窗口是否與另一窗口相交。基于這些判斷,會發(fā)生以下情況如果該窗口是共享的并且是分層的(當(dāng)窗口被指定為分層的,則整個窗口被存儲在與存儲桌面的存儲器區(qū)域分開的存儲器區(qū)域中)。它從存儲其的窗口緩沖區(qū)(與存儲桌面的存儲器分開)被復(fù)制到合成圖。如果窗口是共享的但不是分層的,則從存儲桌面的存儲器將其復(fù)制到合成位圖。如果窗口不是共享的,且其與共享的被遮擋區(qū)域相交,則將一偽窗口添加到合成位圖。該偽窗口例如可以是具有該非共享窗口的尺寸但沒有該窗口的內(nèi)容的窗口(因?yàn)樵摯翱趯⒉槐还蚕?。如果窗口不是共享的,且其與未被遮擋的共享區(qū)域相交,則將對該相交的指示添加到合成位圖。例如,該部位可與位圖的其余部分不同地蒙上陰影,以向觀看者傳達(dá)該部位在第一用戶的桌面上被覆蓋的信息。如果窗口不是共享的,且不與被遮擋的共享區(qū)域或未被遮擋的共享區(qū)域相交,則可忽略該窗口。在對每一窗口完成這些操作之后,合成位圖可被編碼并發(fā)送到第二計算機(jī)以便顯
      示共享窗口。盡管此處所述的主要實(shí)施例討論位圖,但本領(lǐng)域的技術(shù)人員可以理解,這些技術(shù)可應(yīng)用于各種不同格式的圖像。本發(fā)明技術(shù)的優(yōu)點(diǎn)涉及窗口同步。當(dāng)窗口在桌面上諸如經(jīng)由來自用戶的鼠標(biāo)輸入而移動時,所存儲的窗口位置將變得與窗口的圖形顯示稍微有所不同步。即,系統(tǒng)可能已經(jīng)確定窗口的位置與它在桌面上實(shí)際顯示的位置稍有不同。所以,使用以往的技術(shù),如果窗口快速移動并變得不同步,則對客戶機(jī)發(fā)送的是桌面的錯誤部位——桌面上曾包含窗口但現(xiàn)在僅包含窗口的一部分的部位。桌面的這一錯誤部位還可包括未被共享的窗口。與此相反, 如果本發(fā)明的技術(shù)出現(xiàn)不同步問題,它可導(dǎo)致窗口在錯誤的位置向客戶機(jī)顯示而非顯示非共享窗口的一部分。本領(lǐng)域技術(shù)人員將理解,本發(fā)明的一個或多個方面可包括但不限于用于實(shí)現(xiàn)本發(fā)明的本文所述方面的電路和/或編程;該電路和/或編程實(shí)質(zhì)上可以是被配置成實(shí)現(xiàn)本文所述方面的硬件、軟件和/或固件的任何組合,這取決于系統(tǒng)設(shè)計者的設(shè)計選擇。以上是概述,并且因此必然包含細(xì)節(jié)的簡化、一般化及省略。本領(lǐng)域技術(shù)人員將明白,本概述只是說明性的并且決不旨在是限制性的。


      參考附圖來進(jìn)一步描述用于移除遮擋的窗口共享的系統(tǒng)、方法和計算機(jī)可讀存儲介質(zhì),附圖中
      圖1示出了可在其中體現(xiàn)了在此描述的技術(shù)的示例性通用計算環(huán)境。圖2描繪了其中可實(shí)現(xiàn)本發(fā)明的各方面的示例服務(wù)器。圖3A描繪了其中未實(shí)現(xiàn)本發(fā)明的技術(shù)的被遮蔽的共享窗口。圖;3B描繪了其中實(shí)現(xiàn)本發(fā)明的技術(shù)的圖3A的被遮蔽的共享窗口。圖4A描繪了包括多個窗口的計算機(jī)桌面,其中要共享多個窗口的子集。圖4B描繪了使用本發(fā)明的技術(shù)的圖4A的計算機(jī)桌面的共享窗口。圖5描繪了移除遮擋的窗口共享的示例操作過程。
      具體實(shí)施例方式圖1是在其中可實(shí)現(xiàn)在此描述的技術(shù)的通用計算設(shè)備的框圖。計算系統(tǒng)環(huán)境120 只是合適的計算環(huán)境的一個示例,并且不旨在對所公開的主題的使用范圍或功能提出任何限制。也不應(yīng)該將計算環(huán)境120解釋為對示例性操作環(huán)境120中示出的任一組件或其組合有任何依賴性或要求。在某些實(shí)施方式中,所描繪的各種計算元素可包括被配置成實(shí)例化本公開的各具體方面的電路。例如,本公開中使用的術(shù)語電路可包括被配置成執(zhí)行固件或開關(guān)的功能的專用硬件組件。在其他示例實(shí)施方式中,術(shù)語電路可包括由實(shí)施可用于執(zhí)行功能的邏輯的軟件指令配置的通用處理單元、存儲器等。在電路包括硬件與軟件組合的示例實(shí)施方式中,實(shí)現(xiàn)者可編寫實(shí)施邏輯的源代碼且該源代碼可被編譯成可由通用處理單元處理的機(jī)器可讀代碼。因?yàn)楸绢I(lǐng)域技術(shù)人員可以明白現(xiàn)有技術(shù)已經(jīng)進(jìn)化到硬件、軟件或硬件/軟件組合之間幾乎沒有差別的地步,因而選擇硬件或是軟件來實(shí)現(xiàn)具體功能是留給實(shí)現(xiàn)者的設(shè)計選擇。更具體地,本領(lǐng)域技術(shù)人員可以明白軟件進(jìn)程可被變換成等價的硬件結(jié)構(gòu),而硬件結(jié)構(gòu)本身可被變換成等價的軟件進(jìn)程。因此,對于硬件實(shí)現(xiàn)還是軟件實(shí)現(xiàn)的選擇是設(shè)計選擇并留給實(shí)現(xiàn)者。計算機(jī)141通常包括各種計算機(jī)可讀介質(zhì)。計算機(jī)可讀介質(zhì)可以是可由計算機(jī) 141訪問的任何可用介質(zhì),并且包括易失性與非易失性介質(zhì)、可移動與不可移動介質(zhì)兩者。 系統(tǒng)存儲器122包括易失性和/或非易失性存儲器形式的計算機(jī)可讀存儲介質(zhì),如只讀存儲器(ROM) 123和隨機(jī)存取存儲器(RAM) 160。基本輸入/輸出系統(tǒng)IM(BIC)Q包括如在啟動時幫助在計算機(jī)141內(nèi)的元件之間傳輸信息的基本例程,它通常儲存在ROM 123中。RAM 160通常包含處理單元159可以立即訪問和/或目前正在操作的數(shù)據(jù)和/或程序模塊。作為示例而非限制,圖1示出操作系統(tǒng)125、應(yīng)用程序126、其他程序模塊127和程序數(shù)據(jù)128。計算機(jī)141還可以包括其他可移動/不可移動、易失性/非易失性計算機(jī)存儲介質(zhì)。僅作為示例,圖1示出了從不可移動、非易失性磁介質(zhì)中讀取或向其寫入的硬盤驅(qū)動器 138,從可移動、非易失性磁盤IM中讀取或向其寫入的磁盤驅(qū)動器139,以及從諸如⑶ROM 或其他光學(xué)介質(zhì)等可移動、非易失性光盤153中讀取或向其寫入的光盤驅(qū)動器140。可以在示例性操作環(huán)境中使用的其他可移動/不可移動、易失性/非易失性計算機(jī)存儲介質(zhì)包括但不限于,磁帶盒、閃存卡、數(shù)字多功能盤、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動 138通常由諸如接口 134等不可移動存儲器接口連接至系統(tǒng)總線121,而磁盤驅(qū)動139和光盤驅(qū)動140通常由諸如接口 135等可移動存儲器接口連接至系統(tǒng)總線121。以上討論并在圖1中示出的驅(qū)動器及其相關(guān)聯(lián)的計算機(jī)存儲介質(zhì)為計算機(jī)141提供了對計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其他數(shù)據(jù)的存儲。在圖1中,例如,硬盤驅(qū)
      6動器138被示為存儲操作系統(tǒng)158、應(yīng)用程序157、其他程序模塊156和程序數(shù)據(jù)155。注意,這些組件可以與操作系統(tǒng)125、應(yīng)用程序126、其他程序模塊127和程序數(shù)據(jù)1 相同, 也可以與它們不同。操作系統(tǒng)158、應(yīng)用程序157、其他程序模塊156和程序數(shù)據(jù)155在這里被標(biāo)注了不同的標(biāo)號是為了說明至少它們是不同的副本。用戶可以通過輸入設(shè)備,諸如鍵盤151和定點(diǎn)設(shè)備152(通常被稱為鼠標(biāo)、跟蹤球或觸摸墊),向計算機(jī)141輸入命令和信息。其他輸入設(shè)備(未示出)可以包括麥克風(fēng)、游戲桿、游戲手柄、圓盤式衛(wèi)星天線、掃描儀等等。這些和其他輸入設(shè)備通常由耦合至系統(tǒng)總線的用戶輸入接口 136連接至處理單元 159,但也可以由其他接口和總線結(jié)構(gòu),諸如并行端口、游戲端口或通用串行總線(USB),來連接。監(jiān)視器142或其他類型的顯示設(shè)備也經(jīng)由接口,諸如視頻接口 132,連接至系統(tǒng)總線 121。除監(jiān)視器以外,計算機(jī)也可以包括其它外圍輸出設(shè)備,諸如揚(yáng)聲器144和打印機(jī)143, 它們可以通過輸出外圍接口 133連接。計算機(jī)141可使用至一個或多個遠(yuǎn)程計算機(jī),如遠(yuǎn)程計算機(jī)146的邏輯連接在網(wǎng)絡(luò)化環(huán)境中操作。遠(yuǎn)程計算機(jī)146可以是個人計算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其他常見網(wǎng)絡(luò)節(jié)點(diǎn),并且通常包括許多或所有以上關(guān)于計算機(jī)141所描述的元件,盡管在圖1中僅示出了存儲器存儲設(shè)備147。圖1中所示的邏輯連接包括局域網(wǎng)(LAN) 145和廣域網(wǎng)(WAN) 149,但也可以包括其他網(wǎng)絡(luò)。這樣的聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)范圍計算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是常見的。當(dāng)在LAN聯(lián)網(wǎng)環(huán)境中使用時,計算機(jī)141通過網(wǎng)絡(luò)接口或適配器137連接至LAN 145。當(dāng)在WAN聯(lián)網(wǎng)環(huán)境中使用時,計算機(jī)141通常包括調(diào)制解調(diào)器150或用于通過諸如因特網(wǎng)等WAN 149建立通信的其他裝置??梢允莾?nèi)置或外置的調(diào)制解調(diào)器150可被連接到系統(tǒng)總線121。在網(wǎng)絡(luò)化環(huán)境中,關(guān)于計算機(jī)141所描述的程序模塊或其部分可被儲存在遠(yuǎn)程存儲器存儲設(shè)備中。作為示例而非限制,圖1示出遠(yuǎn)程應(yīng)用程序148駐留在存儲器設(shè)備 147上??梢岳斫?,所示的網(wǎng)絡(luò)連接是示例性的,且可以使用在計算機(jī)之間建立通信鏈路的其他手段。現(xiàn)在參照圖2,其一般描繪其中可實(shí)現(xiàn)本公開的各方面的示例環(huán)境。本領(lǐng)域技術(shù)人員可理解,示出圖2所描繪的示例元素是為了提供用于描述本公開的操作框架。因此,在一些實(shí)施例中,每個環(huán)境的物理布局可取決于不同的實(shí)現(xiàn)方案而有所不同。因此,該示例操作框架將僅被視為說明性的且不以任何方式限制權(quán)利要求的范圍。本領(lǐng)域技術(shù)人員還可理解,以下討論是介紹性的,且圖2描繪的元素在由圖5描繪的操作過程的討論中更詳細(xì)地描述。一般地,圖2描繪了可被配置成包括本公開的各方面的服務(wù)器環(huán)境的高級概覽。 參考附圖,描繪了可包括被配置成實(shí)現(xiàn)包括窗口共享會話在內(nèi)的遠(yuǎn)程呈現(xiàn)會話連接的電路的服務(wù)器204。在所描繪的示例中,服務(wù)器204可被配置成生成用于連接客戶機(jī)的一個或多個會話,諸如會話1到N(其中N是大于2的整數(shù))。簡言之,在本公開的示例實(shí)施例中,會話一般可包括由配置成與服務(wù)器204的內(nèi)核214交互的多個子系統(tǒng)(例如,軟件代碼)實(shí)現(xiàn)的操作環(huán)境。例如,會話可包括實(shí)例化諸如桌面窗口之類的用戶界面的進(jìn)程、跟蹤該窗口內(nèi)的鼠標(biāo)移動的子系統(tǒng)、將圖標(biāo)上的鼠標(biāo)點(diǎn)擊轉(zhuǎn)換成實(shí)現(xiàn)程序?qū)嵗拿畹淖酉到y(tǒng)等。會話可由服務(wù)器204在逐個用戶的基礎(chǔ)上生成,例如在服務(wù)器204通過網(wǎng)絡(luò)連接接收來自客戶機(jī)201的連接請求時由服務(wù)器204生成。一般而言,連接請求首先可由傳輸邏輯210處理,傳輸邏輯210例如可由服務(wù)器204的電路實(shí)現(xiàn)。在一些實(shí)施例中,傳輸邏輯210可包括網(wǎng)絡(luò)適配器、可被配置成接收連接消息并將其轉(zhuǎn)發(fā)給引擎212的固件和軟件。如圖2所示, 在一些實(shí)施例中,傳輸邏輯210可包括每個會話的協(xié)議棧實(shí)例。一般而言,每個協(xié)議棧實(shí)例可被配置成將用戶界面輸出路由到客戶機(jī),以及將從客戶機(jī)接收到的用戶輸入路由到與其會話相關(guān)聯(lián)的會話核心M4。繼續(xù)圖2的一般性描述,在本發(fā)明的一些示例實(shí)施例中,引擎212可被配置成處理對會話的請求;確定每個會話的功能;通過為會話分配一組物理資源來生成會話;以及實(shí)例化會話的協(xié)議棧實(shí)例。在一些實(shí)施例中,引擎212可由能實(shí)現(xiàn)上述操作過程中的一部分的專門電路組件來實(shí)現(xiàn)。例如,一些示例實(shí)施例中,該電路在可包括存儲器以及配置成執(zhí)行實(shí)現(xiàn)引擎212的代碼的處理器。如圖2所描繪地,在一些情況下,引擎212可接收連接請求并確定例如許可證可用,并且可為該請求生成會話。在服務(wù)器204是包括遠(yuǎn)程桌面能力的遠(yuǎn)程計算機(jī)的情形中,引擎212可被配置成響應(yīng)于連接請求生成會話而不檢查許可證。如圖2所示,會話管理器216可被配置成接收來自引擎212的消息,并且響應(yīng)于該消息,會話管理器216可將會話標(biāo)識符添加到表中;向該會話標(biāo)識符指派存儲器;以及在指派給該會話標(biāo)識符的存儲器中生成系統(tǒng)環(huán)境變量和子系統(tǒng)進(jìn)程的實(shí)例。如圖2所示,會話管理器216可實(shí)例化諸如運(yùn)行時子系統(tǒng)240之類的環(huán)境子系統(tǒng), 該子系統(tǒng)可包括諸如會話核心244之類的內(nèi)核模式部分。例如,在一實(shí)施例中,環(huán)境子系統(tǒng)被配置成將一些服務(wù)子集展示給應(yīng)用程序并向操作系統(tǒng)214的內(nèi)核提供接入點(diǎn)。在示例實(shí)施例中,運(yùn)行時子系統(tǒng)240可控制進(jìn)程和線程的執(zhí)行,并且會話核心244可向內(nèi)核214的執(zhí)行程序發(fā)送請求以向線程分配存儲器并調(diào)度執(zhí)行它們的時間。在一實(shí)施例中,會話核心244 可包括圖形顯示界面246 (⑶I)、安全子系統(tǒng)250和輸入子系統(tǒng)252。在這些實(shí)施例中,輸入子系統(tǒng)252可被配置成經(jīng)由與該會話相關(guān)聯(lián)的協(xié)議棧實(shí)例接收來自客戶機(jī)201的用戶輸入并將該輸入傳送給合適會話的會話核心對4。在一些實(shí)施例中,用戶輸入可包括指示絕對和 /或相對鼠標(biāo)移動命令、鼠標(biāo)坐標(biāo)、鼠標(biāo)點(diǎn)擊、鍵盤信號、操縱桿移動信號等的信號。例如圖標(biāo)上的鼠標(biāo)雙擊的用戶輸入可被會話核心244接收,并且輸入子系統(tǒng)252可被配置成確定圖標(biāo)位于與該雙擊相關(guān)聯(lián)的坐標(biāo)處。輸入子系統(tǒng)252隨后可被配置成向可執(zhí)行與該圖標(biāo)相關(guān)聯(lián)的應(yīng)用的進(jìn)程的運(yùn)行時子系統(tǒng)240發(fā)送通知。除了接收來自客戶機(jī)201的輸入之外,可從應(yīng)用和/或桌面接收繪制命令并由GDI 246來處理。⑶I 246 —般可包括能生成圖形對象繪制命令的進(jìn)程。在該示例實(shí)施例中, GDI 246可被配置成將其輸出傳遞給遠(yuǎn)程顯示子系統(tǒng)254,在那里,針對附連到該會話的顯示驅(qū)動器,命令被格式化。在某些示例實(shí)施例中,一個或多個物理顯示器可被附連到服務(wù)器 204,例如在遠(yuǎn)程桌面情形中。在這些示例實(shí)施例中,遠(yuǎn)程顯示子系統(tǒng)邪4可被配置成對由遠(yuǎn)程計算機(jī)系統(tǒng)的顯示驅(qū)動器呈現(xiàn)的繪制命令制作鏡像,并經(jīng)由與該會話相關(guān)聯(lián)的棧實(shí)例將鏡像信息傳送給客戶機(jī)201。在服務(wù)器204是終端服務(wù)器的另一示例實(shí)施例中,遠(yuǎn)程顯示子系統(tǒng)2M可被配置成包括可不與物理上附連到服務(wù)器204的顯示器相關(guān)聯(lián)的虛擬顯示驅(qū)動器,例如服務(wù)器204可無頭地運(yùn)行。在該實(shí)施例中,遠(yuǎn)程顯示子系統(tǒng)2M可被配置成接收針對一個或多個虛擬顯示器的繪制命令并將它們經(jīng)由與該會話相關(guān)聯(lián)的棧實(shí)例傳送給客戶機(jī)201。在本公開的實(shí)施例中,遠(yuǎn)程顯示子系統(tǒng)邪4可被配置成確定每個顯示驅(qū)動器的顯示分辨率,例如確定與虛擬顯示器相關(guān)聯(lián)的虛擬顯示驅(qū)動器的顯示分辨率或與物理顯示器相關(guān)聯(lián)的顯示驅(qū)動器的顯示分辨率;以及經(jīng)由相關(guān)聯(lián)的協(xié)議棧實(shí)例將分組路由到客戶機(jī) 201。在一些示例實(shí)施例中,會話管理器216可附加地實(shí)例化與該會話的會話標(biāo)識符相關(guān)聯(lián)的可被配置成處理該會話的登入和登出的登錄進(jìn)程的實(shí)例。在這些示例實(shí)施例中,指示與登錄進(jìn)程相關(guān)聯(lián)的圖形用戶界面的繪制命令可被傳送給客戶機(jī)201,在那里,客戶機(jī) 201的用戶可向登錄屏幕輸入帳戶標(biāo)識符(例如用戶名/ 口令組合)、智能卡標(biāo)識符、和/ 或生物測定信息。該信息可被傳送給服務(wù)器204并被路由至引擎212以及會話核心244的安全子系統(tǒng)250。例如,在某些示例實(shí)施例中,引擎212可被配置成確定用戶帳戶是否與許可證相關(guān)聯(lián);并且安全子系統(tǒng)250可被配置成生成該會話的安全令牌。圖3A描繪了其中未實(shí)現(xiàn)本發(fā)明的技術(shù)的被遮蔽的共享窗口。共享窗口會話中的客戶機(jī)可接收合成圖像302,該圖像包括共享窗口 304、共享窗口 306以及對應(yīng)于非共享窗口 308的區(qū)域。共享窗口 304遮擋了共享窗口 306。所以,即使共享窗口 306的一部分因共享窗口 304的存在而不可見,其上顯示這些共享窗口的客戶計算機(jī)的用戶也可理解共享窗口 306的這一部分為何未被呈現(xiàn),因?yàn)樗蛩芸吹焦蚕泶翱?304覆蓋這一部分。共享窗口 304的一部分和共享窗口 306的其它部分因?qū)?yīng)于非共享窗口 308的區(qū)域而不可見。在該共享窗口會話中的服務(wù)器上,對應(yīng)于非共享窗口 308的區(qū)域包含非共享窗口。然而,在客戶機(jī)上,如此處所顯示,該窗口不被顯示,而改為顯示空白空間。這可使客戶機(jī)的用戶混淆,因?yàn)榭瓷先ズ孟窆蚕泶翱?304和共享窗口 306被不正確地顯示且其部分缺失。圖:3B描繪了其中實(shí)現(xiàn)本發(fā)明的技術(shù)的圖3A的被遮蔽的共享窗口。這可例如經(jīng)由圖2所示的系統(tǒng)實(shí)現(xiàn)。共享窗口會話中的客戶機(jī)可接收合成圖像302a,該圖像包括共享窗口 30 和共享窗口 306a。類似于圖3A,共享窗口 30 遮擋了共享窗口 306a。所以,即使共享窗口 306a的一部分因共享窗口 30 的存在而不可見,其上顯示這些共享窗口的客戶計算機(jī)的用戶也可理解共享窗口 306a的這一部分為何未被呈現(xiàn),因?yàn)樗蛩芸吹焦蚕泶翱?30 覆蓋這一部分。與圖3A相反,共享窗口 30 和共享窗口 306a均未被非共享窗口遮擋(在圖3A 中,共享窗口 304和共享窗口 306被非共享窗口 308遮擋)。這可例如通過應(yīng)用如參考圖5 所述的技術(shù)來實(shí)現(xiàn)。圖4A描繪了包括多個窗口的計算機(jī)桌面,其中要共享多個窗口的子集。這可例如經(jīng)由圖2所示的系統(tǒng)實(shí)現(xiàn)。計算機(jī)桌面402包括多個窗口——共享窗口 404、共享窗口 406、 共享窗口 408、非共享窗口 410以及非共享窗口 412。如同圖3A和3B,可注意到每一窗口與至少一個其它窗口相交——例如,共享窗口 404遮擋共享窗口 408,且其本身被共享窗口 406以及非共享窗口 410遮擋。圖4B描繪了如客戶機(jī)所接收的使用本發(fā)明的技術(shù)的圖4A的計算機(jī)桌面的共享窗口。這可例如經(jīng)由圖2所示的系統(tǒng)實(shí)現(xiàn)。合成圖像40 包括共享窗口 404a、共享窗口 406a、共享窗口 408a以及偽窗口 410a。顯示共享窗口 406a的全部,包括圖4A中窗口 406 中被非共享窗口 412遮擋的那些部分。這是因?yàn)榇翱?406被遮擋的部位能夠使用如參考圖 5描述的技術(shù)來確定。偽窗口 410a在桌面40 中占據(jù)圖4A中非共享窗口 410在桌面402中占據(jù)的空間。在一實(shí)施例中,圖4A中共享窗口 404的部位不能被確定(參考圖5更詳細(xì)描述),因此在圖4B中,顯示偽窗口 410來傳達(dá)這一信息。在一實(shí)施例中,可確定窗口 408的內(nèi)容,但是已經(jīng)作出了用與窗口 410相同的尺寸呈現(xiàn)偽窗口 410a的選擇,因此它遮擋窗口 408的一部分。在一實(shí)施例中,偽窗口的大小不同于其對應(yīng)于的窗口,使得可在此對其執(zhí)行遮擋移除的窗口(諸如窗口 408)不被遮擋。圖5描繪了用于計算機(jī)桌面的多個窗口的帶遮擋移除的窗口共享的示例操作過程。圖5的技術(shù)可被實(shí)現(xiàn)來取圖4A的計算機(jī)桌面并從中共享圖4B的共享窗口。這可例如經(jīng)由圖2所示的系統(tǒng)實(shí)現(xiàn)。窗口是共享的,其中在窗口共享會話中,它被指定被發(fā)送給客戶機(jī)。窗口是分層的,其中它被如此指定,且因此整個窗口被存儲在與存儲桌面的存儲器區(qū)域分開的存儲器區(qū)域中(且該窗口在桌面上可能被遮擋,因此不能從桌面確定整個窗口)。當(dāng)窗口是共享的但不是分層的,且另一窗口遮擋其部分,則可能不能從存儲器檢索該窗口中被遮擋的部位, 或者因?yàn)閺拇鎯ζ鳈z索窗口會產(chǎn)生不令人滿意的結(jié)果,諸如要求不可接受的大量計算資源來完成。在這些情況下,非共享窗口可能會遮擋共享窗口的部位,且被遮擋的部位不能被確定。在一實(shí)施例中,桌面中的窗口可具有以下特征(1)它既是共享的又是分層的; (2)它是共享的但不是分層的;C3)它不是共享的且遮擋共享窗口的部位,且被遮擋的部位不能被確定(諸如如果窗口不是分層窗口); (4)它不是共享的,且它遮擋共享窗口的部位, 且被遮擋的部位能夠被確定;以及( 它不是共享的,且它不遮擋共享窗口的任何部位。在一實(shí)施例中,生成合成圖像——其上繪制要共享的窗口的空白畫布,然后對窗口過兩遍以將共享的窗口如其在桌面上所排列的方式繪制到合成圖像上。在對窗口過第一遍時,對每一窗口檢查三件事。第一,檢查每一窗口以確定其ζ次序(窗口在桌面上的深度;當(dāng)兩個窗口在桌面上占據(jù)相同位置時,具有較小ζ深度的窗口將遮擋具有較大ζ深度的窗口)。其次,檢查每一窗口以確定它是否是共享的,且如果是,則確定它是否有部分被遮擋。如在對窗口過的這一遍中所確定地,合成圖像的各區(qū)域被指定為共享并被遮擋或共享但未被遮擋。第三且最后,檢查每一窗口來確定合成圖像中如果要在該合成圖像中呈現(xiàn)窗口則窗口將被呈現(xiàn)的位置。由于合成窗口具有與桌面相同的尺寸,因此該位置可通過按照桌面的左上角的坐標(biāo)來使窗口偏移來確定。每一窗口的這一位置可被稱為窗口的目標(biāo)坐標(biāo)。合成圖像中共享且被遮擋區(qū)域是其中要添加共享窗口但窗口的部位不能被確定的區(qū)域。合成圖像的共享但未被遮擋區(qū)域是其中要添加共享窗口且窗口的部位可被確定的區(qū)域,窗口的部位可被確定或者因?yàn)槠湮幢蛔烂嫔系牧硪淮翱谡趽趸蛘咭驗(yàn)槠潆m然被桌面上的另一區(qū)域遮擋但共享窗口的該區(qū)域因存儲在與存儲桌面的存儲器區(qū)域分開的某些存儲器區(qū)域中而可被確定。在過第一遍之后,對每一窗口過第二遍,從具有最大ζ深度的窗口開始,并按照減少的ζ深度的順序?qū)Υ翱谶M(jìn)行。根據(jù)其如上所述的特征處理每一窗口。如果窗口既是共享的且又是分層的,則將窗口從存儲窗口的存儲器區(qū)域(與存儲桌面的存儲器區(qū)域分開;這可被稱為窗口緩沖區(qū),它可構(gòu)成系統(tǒng)存儲器的一部分)復(fù)制到合成圖像的目標(biāo)坐標(biāo)。由該窗口占據(jù)的區(qū)域被添加到共享未被遮擋區(qū)域。如果窗口是共享的但不是分層的,則將存儲桌面的存儲器區(qū)域中所呈現(xiàn)(且由此可見)的窗口的部位復(fù)制到合成圖像中該窗口的目標(biāo)坐標(biāo)處。如果窗口在桌面上被部分遮擋,將不呈現(xiàn)其全部,因此不將其全部復(fù)制到合成圖像。如果窗口不是共享的,且它與共享、被遮擋區(qū)域相交,則可將該遮擋的指示添加到合成圖像中此窗口的目標(biāo)坐標(biāo)處。這一指示可包括偽窗口——與此窗口具有相同尺寸但不具有此窗口的內(nèi)容(可以是空白的)的窗口。從被遮擋的共享窗口區(qū)域410a中移除對應(yīng)于此窗口的區(qū)域。如果窗口不是共享的,且它與未被遮擋的共享區(qū)域相交,則可向合成圖像在同共享的未被遮擋區(qū)域與此窗口占據(jù)的區(qū)域之間的相交相對應(yīng)的區(qū)域中添加對此的指示。這一指示可包括透明陰影的形式。這可向客戶機(jī)處的用戶傳達(dá)共享窗口的某一部位被非共享窗口遮擋的信息。在另一實(shí)施例中,不添加任何指示。如果窗口不是共享的,且它不與被遮擋或共享的未被遮擋的區(qū)域相交,則不向合成圖像添加任何東西。在過第二遍之后,合成圖像現(xiàn)在包括共享的未被遮擋的窗口(其各部位可能被其它共享窗口遮擋)以及對未被解決的遮擋的指示,諸如通過偽窗口。然后對合成圖像編碼 (例如,壓縮)并將其發(fā)送到客戶機(jī)以便在客戶機(jī)的顯示設(shè)備上顯示??梢岳斫?,存在實(shí)現(xiàn)類似結(jié)果但不精確地包括對窗口的兩遍的技術(shù)。例如,確定窗口 ζ次序、以及確定合成圖像的共享未被遮擋和共享被遮擋區(qū)域的操作可在分開的遍中執(zhí)行。參考圖5所述的這些技術(shù)在以下參考操作502-516更詳細(xì)描述。盡管圖5的操作討論了四個窗口,但可以理解,本發(fā)明的技術(shù)可應(yīng)用于處于被共享和/或被遮擋的任何狀態(tài)下以及按任何ζ次序的任何數(shù)量個窗口。操作502描繪了確定多個窗口的ζ次序,其中第一窗口具有多個窗口中最大的ζ 距離。窗口可被認(rèn)為在桌面上具有ζ次序——具有較大ζ距離的窗口將被具有較小ζ距離的窗口遮擋。在以下操作中,可通過以ζ次序遍歷窗口,從具有最大ζ距離的窗口開始,并以具有最小ζ距離的窗口結(jié)束來處理窗口。在一實(shí)施例中,窗口的ζ距離可被存儲在其元數(shù)據(jù)中,或由諸如操作系統(tǒng)等系統(tǒng)中管理這些窗口的某一管理部分存儲。在這樣的實(shí)施例中,每一窗口的ζ距離可通過檢查其被存儲的位置來確定。操作504描繪確定多個計算機(jī)窗口中第一窗口在桌面上的位置。如同與操作502 一樣,該信息可被存儲在窗口的元數(shù)據(jù)中,或可由系統(tǒng)中管理這些窗口的某一管理部分存儲。在一實(shí)施例中,操作504包括基于第一窗口相對于計算機(jī)桌面的共享窗口位置來確定第一窗口的位置。如上所述,這可利用第一窗口的目標(biāo)坐標(biāo)來完成。操作506描繪確定第一窗口是共享的且是分層的??梢酝ㄟ^檢查服務(wù)器用戶設(shè)置的用來表示該窗口要被共享的窗口的標(biāo)志來確定窗口是共享的??赏ㄟ^檢查與窗口相關(guān)聯(lián)的元數(shù)據(jù)來查看“分層標(biāo)志”,諸如MICR0S0FTWIND0WS⑧中的WS_EX_LAYERED (WS_EX_分層) 標(biāo)志來確定窗口是分層的,或設(shè)置類似的指示符。
      操作508描繪了基于第一窗口的位置將第一窗口復(fù)制到合成圖像。為了按照共享窗口在服務(wù)器上的相同排列來向客戶機(jī)顯示共享窗口,共享窗口的排列必須已知。在合成圖像包括與共享窗口的桌面相同的尺寸的情形中,則這例如可通過使用共享窗口對于桌面的相對位置來完成。例如,如果共享窗口的左上角位于桌面的左上角向右70像素、向下60 像素處,則可通過復(fù)制第一窗口使得第一窗口的左上角位于合成圖像的左上角向右70像素、向下60像素處來在合成圖像中維護(hù)第一窗口的相對位置。在一實(shí)施例中,合成圖像包括位像??墒褂酶鞣N其它圖像格式,諸如聯(lián)合圖象專家組(JPEG)或圖形交換格式(GIF)。在一實(shí)施例中,操作508包括在將窗口復(fù)制到合成圖像之前禁止多個計算機(jī)窗口的每一窗口的桌面合成。某些操作系統(tǒng)中的應(yīng)用程序,諸如MICROSOFT WINDOWS VISTA 及其桌面窗口管理器(DWM)不向桌面的存儲器區(qū)域直接繪制窗口。相反,這些窗口被繪制到視頻存儲器中的屏幕外存儲器區(qū)域中,然后被呈現(xiàn)到桌面圖像中。在包括這樣的桌面合成特征的一些實(shí)現(xiàn)中,當(dāng)共享窗口被繪制到這些屏幕外存儲器區(qū)域時,在沒有窗口的邊界框的情況下繪制窗口,且當(dāng)窗口稍后被會繪制到桌面的存儲器區(qū)域時圍繞窗口繪制該邊界。 在這種情況中,從這些屏幕外存儲器區(qū)域中檢索共享窗口將導(dǎo)致檢索部分共享窗口,因?yàn)樵摯翱趯⑷鄙倨淇蜻吔?。這一問題可通過禁用這樣的桌面合成特征來減輕。在一實(shí)施例中,操作508包括在將任何共享窗口復(fù)制到合成圖像之前為多個計算機(jī)窗口中所共享的每一窗口設(shè)置分層標(biāo)志。在某些操作系統(tǒng)中,分層和未分層的窗口被不同地處理。如果窗口不是分層的,則它僅被繪制到桌面的存儲器區(qū)域,而根本不繪制窗口中被另一窗口遮擋的那些部位。如果窗口是分層的,則將整個窗口繪制到屏幕外存儲器區(qū)域, 在那里存儲該窗口,然后將窗口中未被遮擋的部位(可以是整個窗口)繪制到桌面的存儲器區(qū)域。由此,通過在支持為每一共享窗口設(shè)置分層標(biāo)志的環(huán)境中為每一共享窗口設(shè)置分層標(biāo)志,可使得共享窗口中被遮擋的那些部位在存儲器中可用以便傳送給客戶機(jī),盡管它們在服務(wù)器桌面上不可見。在一實(shí)施例中,操作508包括將第一窗口從窗口緩沖區(qū)復(fù)制到合成圖像。窗口緩沖區(qū)可包括如參考操作506所述的屏幕外存儲器區(qū)域。在其中分層窗口被存儲在屏幕外存儲器區(qū)域中的實(shí)施例中,該窗口可被復(fù)制到合成圖像,使得整個窗口被復(fù)制到合成圖像,即使窗口的某一部分在桌面上被遮擋。操作510描繪了確定多個計算機(jī)窗口中的第二窗口在桌面上的位置;確定第二窗口是共享的但不是分層的;以及基于第二窗口的位置將第二窗口從計算機(jī)桌面復(fù)制到合成圖像。在使用MICROSOFT WINDOWS 操作系統(tǒng)的實(shí)施例中,這例如可通過對GetWindowDCO (取窗口 DC0)函數(shù)的調(diào)用來實(shí)現(xiàn)。在第二窗口是共享的時候,將其復(fù)制到合成圖像以便傳送到客戶機(jī)。在其不是分層的時候(諸如第二窗口的分層標(biāo)志未被置位),則第二窗口可能在存儲器中僅被存儲在桌面的存儲器區(qū)域中。在這樣的情況中,可從桌面的存儲器區(qū)域檢索它并從中將其復(fù)制到合成圖像。操作512描繪了確定多個計算機(jī)窗口的第三窗口在桌面上的位置;確定第三窗口不是共享且與合成位圖的被遮擋的共享區(qū)域相交;以及基于第三窗口的位置向合成位圖添加對第三窗口的指示。
      這可以包括第一窗口是共享窗口且第三窗口是遮擋第一窗口的非共享窗口且第一窗口的被遮擋部位不能確定的情況。這可在第一窗口僅被繪制到桌面的存儲器區(qū)域中時發(fā)生,諸如因?yàn)槲磳Φ谝淮翱谠O(shè)置分層標(biāo)志。在某些情況下,窗口的分層標(biāo)志不能被設(shè)置。 例如,窗口的一部位可由多個進(jìn)程所有,且執(zhí)行本發(fā)明的技術(shù)的實(shí)體不具有修改窗口的充分特權(quán)。在這樣的情況中,此實(shí)體設(shè)置分層標(biāo)志的嘗試可能會失敗。在一實(shí)施例中,對第三窗口的指示包括偽窗口,偽窗口具有與第三窗口相同的尺寸以及與第三窗口的位置相對于第一窗口的位置相同的相對于第一窗口的位置。在另一實(shí)施例中,偽窗口具有與第三窗口不同的尺寸,諸如如上參考圖4B所述(其中偽窗口也將覆蓋可對其執(zhí)行遮擋移除的共享窗口,在此實(shí)施例中,可設(shè)置偽窗口的尺寸使其不會遮擋這另一共享窗口)。由于不能確定第一窗口的一部位,因此在沒有關(guān)于發(fā)生了什么指示的情況下,第一窗口對客戶機(jī)用戶而言看上去將是不完整的。在一實(shí)施例中,對遮擋的指示包括偽窗口。 偽窗口可包括具有與第三窗口相同的尺寸但不具有第二窗口的內(nèi)容(由于第二窗口不是共享的)的窗口。例如,偽窗口可具有第三窗口的邊界框,但該邊界框內(nèi)將其繪制為全黑 410a。操作514描繪了確定多個計算機(jī)窗口中的第四窗口在桌面上的位置;確定第四窗口不是共享的,且該第四窗口與合成位圖的共享區(qū)域相交,且第四窗口不與合成位圖的被遮擋的共享區(qū)域相交;以及將對第四窗口與合成位圖的共享區(qū)域相交的指示添加到合成位圖。這可包括其中第四窗口遮擋第一窗口的一部位,但整個第一窗口被存儲在屏幕外存儲器區(qū)域中并從中檢索——而非存儲在桌面的存儲器區(qū)域中并從中檢索的情況。在這樣的情況中,盡管第四窗口引起的遮擋不會限制可發(fā)送給客戶機(jī)的第一窗口的量,但仍優(yōu)選地向客戶機(jī)發(fā)送對該服務(wù)器側(cè)遮擋的指示。例如,這可允許客戶機(jī)計算機(jī)的用戶了解服務(wù)器計算機(jī)的用戶在服務(wù)器用戶的桌面上不能看到第一窗口中被第四窗口遮擋的該部位。這例如可通過向合成位圖繪制在第一窗口被第四窗口遮擋的部位之上的有陰影的透明區(qū)域來實(shí)現(xiàn)。操作516描繪了向客戶機(jī)發(fā)送合成圖像。這可諸如通過根據(jù)遠(yuǎn)程呈現(xiàn)會話協(xié)議并在諸如INTERNET 之類的通信網(wǎng)絡(luò)上向客戶機(jī)發(fā)送圖像來完成。在實(shí)施例中,操作516包括在將合成圖像發(fā)送給客戶機(jī)之前對其編碼。各種遠(yuǎn)程呈現(xiàn)會話實(shí)現(xiàn)在將合成圖像發(fā)送給客戶機(jī)之前對其編碼以降低帶寬要求。例如,當(dāng)合成圖像包括位像時,可將其編碼為JPEG圖像以減少其大小,且因此減少在通信網(wǎng)絡(luò)上發(fā)送它所需的帶寬。結(jié)論盡管已經(jīng)結(jié)合各附圖所示的較佳方面描述了本發(fā)明,但要理解,可使用其它相似方面或者可對所述方面進(jìn)行修改或添加來執(zhí)行本發(fā)明的相同功能而不脫離本發(fā)明。因此, 本發(fā)明應(yīng)當(dāng)不限于任何單個方面,而應(yīng)按照所附權(quán)利要求書的廣度與范圍來解釋。例如,本文描述的各種過程可用硬件或軟件、或兩者的組合來實(shí)現(xiàn)。因此,所公開的各實(shí)施例的方法和裝置或其某些方面或部分可采用包含在諸如軟盤、CD-ROM、硬盤驅(qū)動器或任何其他機(jī)器可讀存儲介質(zhì)等有形介質(zhì)中的程序代碼(即,指令)的形式。當(dāng)程序代碼被加載到諸如計算機(jī)等機(jī)器并由其執(zhí)行時,該機(jī)器變?yōu)楸慌渲贸蓪?shí)施所公開的各實(shí)施例的裝置。除了此處明確闡述的具體實(shí)現(xiàn)之外,考慮此處所公開的說明書,其它方面和實(shí)現(xiàn)將對本領(lǐng)域的技術(shù)人員是顯而易見的。說明書和所示實(shí)現(xiàn)旨在僅被認(rèn)為是示例。
      權(quán)利要求
      1.一種用于共享計算機(jī)桌面的多個計算機(jī)窗口中的計算機(jī)窗口的方法,包括 確定所述多個計算機(jī)窗口中的第一窗口在桌面上的位置(504);確定所述第一窗口是共享的且是分層的(506);基于所述第一窗口的位置,將所述第一窗口從窗口緩沖區(qū)復(fù)制到合成圖像,所述窗口緩沖區(qū)與所述計算機(jī)桌面分開地存儲所述第一窗口(508);以及向客戶機(jī)發(fā)送所述合成圖像(516)。
      2.如權(quán)利要求1所述的方法,其特征在于,還包括 在將合成圖像發(fā)送給客戶機(jī)之前對所述合成圖像編碼。
      3.如權(quán)利要求1所述的方法,其特征在于,還包括 在將窗口復(fù)制到所述合成圖像之前禁用桌面合成。
      4.如權(quán)利要求1所述的方法,其特征在于,還包括在將任何共享窗口復(fù)制到所述合成圖像之前,為所述多個計算機(jī)窗口中所共享的每一窗口設(shè)置分層標(biāo)志。
      5.如權(quán)利要求1所述的方法,其特征在于,還包括 確定所述多個窗口的ζ次序;以及其中所述第一窗口具有所述多個窗口中最大的ζ距離。
      6.如權(quán)利要求1所述的方法,其特征在于,所述合成圖像的尺寸等于所述桌面的尺寸。
      7.如權(quán)利要求1所述的方法,其特征在于,還包括 確定所述多個計算機(jī)窗口中的第二窗口在桌面上的位置; 確定所述第二窗口是共享的但不是分層的;以及基于所述第二窗口的位置將所述第二窗口從計算機(jī)桌面復(fù)制到所述合成圖像。
      8.如權(quán)利要求1所述的方法,其特征在于,還包括 確定所述多個計算機(jī)窗口中的第三窗口在桌面上的位置;確定所述第三窗口不是共享的且與合成圖像的被遮擋共享區(qū)域相交;以及基于所述第三窗口的位置將對所述第三窗口的指示添加到所述合成圖像。
      9.如權(quán)利要求1所述的方法,其特征在于,還包括 確定所述多個計算機(jī)窗口中的第四窗口在桌面上的位置;確定所述第四窗口不是共享的、所述第四窗口與所述合成圖像的共享區(qū)域相交、且所述第四窗口不與所述合成圖像的被遮擋共享區(qū)域相交;以及將對所述第四窗口與所述合成圖像的共享區(qū)域相交的指示添加到合成圖像。
      10.如權(quán)利要求1所述的方法,其特征在于,確定所述多個計算機(jī)窗口中的所述第一窗口在桌面上的位置包括基于所述第一窗口相對于所述計算機(jī)桌面的共享窗口位置來確定所述第一窗口的位置。
      11.一種用于共享計算機(jī)桌面上的多個計算機(jī)窗口中的計算機(jī)窗口的系統(tǒng),包括 處理器;通信地耦合到所述處理器的存儲器(22),承載計算機(jī)可讀指令,當(dāng)在所述處理器上執(zhí)行所述計算機(jī)可讀指令時,使得所述處理器執(zhí)行以下操作,包括 確定所述多個計算機(jī)窗口中的第一窗口在桌面上的位置(504);確定所述第一窗口是共享的且是分層的(506); 基于所述第一窗口的位置將所述第一窗口復(fù)制到合成圖像(510);以及向客戶機(jī)發(fā)送所述合成圖像(516)。
      12.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述存儲器還承載在所述處理器上執(zhí)行時使得所述處理器執(zhí)行以下操作的指令,所述操作包括確定所述多個計算機(jī)窗口中的第二窗口在桌面上的位置; 確定所述第二窗口是共享的但不是分層的;以及基于所述第二窗口的位置將所述第二窗口從計算機(jī)桌面復(fù)制到所述合成圖像。
      13.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述存儲器還承載在所述處理器上執(zhí)行時使得所述處理器執(zhí)行以下操作的指令,所述操作包括確定所述多個計算機(jī)窗口中的第三窗口在桌面上的位置; 確定所述第三窗口不是共享的且與所述合成圖像的被遮擋共享區(qū)域相交;以及基于所述第三窗口的位置將對所述第三窗口的指示添加到合成圖像。
      14.如權(quán)利要求11所述的系統(tǒng),其特征在于,對所述第三窗口的指示包括偽窗口,所述偽窗口具有與第三窗口相同的尺寸以及與所述第三窗口的位置相對于所述第一窗口的位置相同的相對于所述第一窗口的位置。
      15.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述圖像包括位像。
      全文摘要
      公開了用于移除遮擋的窗口和應(yīng)用共享的技術(shù)。在一實(shí)施例中,該技術(shù)從空白的合成圖像開始,將對其添加共享窗口。對從中共享至少一個窗口的桌面的每一窗口,從最大z深度到最小z深度遍歷窗口,基于窗口是否是共享的和是否被遮擋來處理窗口。共享窗口被復(fù)制到合成圖像。當(dāng)共享窗口的一部分被遮擋且不能被檢索時,對該遮擋的指示被添加到合成圖像。當(dāng)各窗口已被處理之后,對合成圖像編碼并將其發(fā)送到其將顯示的客戶機(jī)計算機(jī)以產(chǎn)生計算機(jī)之間的窗口共享。
      文檔編號H04L29/08GK102196034SQ201110065889
      公開日2011年9月21日 申請日期2011年3月9日 優(yōu)先權(quán)日2010年3月9日
      發(fā)明者A·A·陳, S·R·尼如杜, W·R·舒米德爾 申請人:微軟公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1