TW201601059A - 螢幕分享方法以及使用該方法的裝置 - Google Patents

螢幕分享方法以及使用該方法的裝置 Download PDF

Info

Publication number
TW201601059A
TW201601059A TW103121509A TW103121509A TW201601059A TW 201601059 A TW201601059 A TW 201601059A TW 103121509 A TW103121509 A TW 103121509A TW 103121509 A TW103121509 A TW 103121509A TW 201601059 A TW201601059 A TW 201601059A
Authority
TW
Taiwan
Prior art keywords
window
screen
screen sharing
application
event message
Prior art date
Application number
TW103121509A
Other languages
English (en)
Other versions
TWI604375B (zh
Inventor
苗本泰
陳炳宏
林育平
廖芳文
Original Assignee
緯創資通股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 緯創資通股份有限公司 filed Critical 緯創資通股份有限公司
Priority to TW103121509A priority Critical patent/TWI604375B/zh
Priority to CN201410304923.6A priority patent/CN105204797B/zh
Priority to US14/593,169 priority patent/US10403235B2/en
Publication of TW201601059A publication Critical patent/TW201601059A/zh
Application granted granted Critical
Publication of TWI604375B publication Critical patent/TWI604375B/zh

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Digital Computer Display Output (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Abstract

本發明的實施例提出一種螢幕分享方法,由螢幕分享來源中的處理單元執行,包含以下步驟。取得正於顯示單元開啟的多個應用程式。針對每一應用程式,偵測連接至螢幕分享來源的多個螢幕分享接收端,並且新增多個選項至應用程式的系統功能表。其中,每一選項關聯於螢幕分享接收端中之一者。

Description

螢幕分享方法以及使用該方法的裝置
本發明關連於一種螢幕分享技術,特別是一種螢幕分享方法以及使用該方法的裝置。
螢幕分享技術可利用有線或無線的方式傳送畫面影像至桌上型電腦、平板電腦、手機等裝置,或從這些裝置接收畫面影像。例如,螢幕分享技術讓使用者可即時地將桌上型電腦的畫面複製顯示在兩部以上的手機。傳統上,這樣的螢幕分享都是直接分享桌上型電腦的畫面。也就是說,兩部以上的手機會顯示相同的畫面,而不能夠分別顯示運行於桌上型電腦中不同應用程式的畫面。因此,需要一種螢幕分享方法以及使用該方法的裝置,解決以上所述的缺陷。
本發明的實施例提出一種螢幕分享方法,由螢幕分享來源中的處理單元執行,包含以下步驟。取得正於顯示單元開啟的多個應用程式。針對每一應用程式,偵測連接至螢幕分享來源的多個螢幕分享接收端,並且新增多個選項至應用程式的系統功能表。其中,每一選項關聯於螢幕分享接收端中之一者。
本發明的實施例另提出一種螢幕分享方法,由螢 幕分享來源中的處理單元執行,包含以下步驟。提供多個應用程式與連接至螢幕分享來源的多個螢幕分享接收端間的對應關係。依據對應關係將每一應用程式的視窗畫面傳送至螢幕分享接收端中指定的一者。
本發明的實施例提出一種螢幕分享裝置,作為一螢幕分享來源,包含顯示單元及處理單元。處理單元耦接於顯示單元,取得正於顯示單元開啟的多個應用程式;以及針對每一應用程式,偵測連接至螢幕分享來源的多個螢幕分享接收端,並且新增多個選項至應用程式的系統功能表,其中,每一選項關聯於螢幕分享接收端中之一者。
本發明的實施例另提出一種螢幕分享裝置,作為一螢幕分享來源,包含顯示單元及處理單元。處理單元耦接於顯示單元,提供多個應用程式與連接至螢幕分享來源的多個螢幕分享接收端間的對應關係;以及依據對應關係將每一應用程式的視窗畫面傳送至螢幕分享接收端中指定的一者。
110、120‧‧‧手機
130‧‧‧桌上型電腦
131‧‧‧主機
133‧‧‧顯示裝置
135‧‧‧鍵盤
151a‧‧‧瀏覽器視窗
151b‧‧‧顯示單元
153a‧‧‧多媒體播放器視窗
153b‧‧‧顯示單元
210‧‧‧處理單元
220‧‧‧顯示單元
230‧‧‧輸入裝置
240‧‧‧儲存裝置
250‧‧‧記憶體
260‧‧‧通訊介面
310‧‧‧應用程式架構
330‧‧‧作業系統
S311~S333‧‧‧方法步驟
410a~410j‧‧‧系統功能表選項
430a~430g‧‧‧系統功能表選項
531‧‧‧分享來源應用程式
533‧‧‧掛入動態連結程式庫
535‧‧‧瀏覽器
537‧‧‧媒體播放器
539‧‧‧畫面串流產生器
551‧‧‧分享接收端應用程式
553‧‧‧解碼器
555‧‧‧畫面繪製器
S611~S657‧‧‧方法步驟
S711~S799‧‧‧方法步驟
P1、P2‧‧‧座標
W1、W2‧‧‧寬度
H1、H2‧‧‧高度
第1圖係依據本發明實施例之螢幕分享系統的系統架構圖。
第2圖係依據本發明實施例的電子裝置的系統架構圖。
第3圖係依據本發明實施例之由桌上型電腦中之處理單元執行的動態產生功能表的方法流程圖。
第4A圖係依據本發明實施例之瀏覽器的系統功能表的示意圖。
第4B圖係依據本發明實施例之媒體播放器的系統功能表的示意圖。
第5圖係依據本發明實施例之桌上型電腦及手機的軟體架構圖。
第6圖係依據本發明實施例之由桌上型電腦中之處理單元執行的視窗事件訊息分派的方法流程圖。
第7A及7B圖係依據本發明實施例之由桌上型電腦中之處理單元執行的螢幕分享方法流程圖。
第8圖係依據本發明實施例之移動視窗示意圖。
第9圖係依據本發明實施例之最小化視窗示意圖。
第10圖係依據本發明實施例之回復視窗示意圖。
以下說明係為完成發明的較佳實現方式,其目的在於描述本發明的基本精神,但並不用以限定本發明。實際的發明內容必須參考之後的權利要求範圍。
必須了解的是,使用於本說明書中的”包含”、”包括”等詞,係用以表示存在特定的技術特徵、數值、方法步驟、作業處理、元件以及/或組件,但並不排除可加上更多的技術特徵、數值、方法步驟、作業處理、元件、組件,或以上的任意組合。
於權利要求中使用如”第一”、"第二"、"第三"等詞係用來修飾權利要求中的元件,並非用來表示之間具有優先權順序,先行關係,或者是一個元件先於另一個元件,或者是執行方法步驟時的時間先後順序,僅用來區別具有相同名字的元 件。
本發明實施例運行於螢幕分享系統。第1圖係依據本發明實施例之螢幕分享系統的系統架構圖,包含手機110、120及桌上型電腦130。桌上型電腦130可包含主機131、顯示裝置133及鍵盤135。手機110、120及顯示裝置133具有顯示面板(例如,薄膜液晶顯示面板、有機發光二極體面板或其他具顯示能力的面板),用以顯示輸入的字元、數字、符號、拖曳鼠標的移動軌跡、繪製的圖案或應用程式所提供的畫面,提供給使用者觀看。手機110、120可使用無線通訊的方式(例如,無線高保真直連Wi-Fi Connect、藍芽Bluetooth等)連接上桌上型電腦130。桌上型電腦130運行於具多工能力的作業系統,可執行多個應用程式,例如瀏覽器、郵件管理程式、多媒體播放器、文書處理程式等。桌上型電腦130使用螢幕播送技術(例如無線影像傳輸Miracast等)將顯示裝置130中的瀏覽器視窗151a複製顯示在手機110的顯示單元151b,以及將顯示裝置130中的多媒體播放器視窗153a複製顯示在手機120的顯示單元153b。手機110、120又可稱為螢幕分享接收端,而桌上型電腦130又可稱為螢幕分享來源。雖然本發明實施例的螢幕分享接收端以手機110、120為例,但熟習此技藝人士亦可以實施在平板電腦、筆記型電腦等可攜式裝置。此外,雖然本發明實施例的螢幕分享來源以桌上型電腦130為例,但熟習此技藝人士亦可以實施在平板電腦、筆記型電腦等相較於螢幕播送來源具有較大顯示面板的電子裝置。螢幕分享來源與螢幕分享接收端間之連結亦不限於使用無線通訊技術,亦可以有線的方式連接,本發明並不 以此為限。
第2圖係依據本發明實施例的電子裝置的系統架構圖。此系統架構可實施於手機110、120、桌上型電腦130或其他具備運算能力的電子裝置。處理單元210可使用多種方式實施,例如以專用硬體電路或通用硬體(例如,單一處理器、具平行處理能力的多處理器、圖形處理器或其他具運算能力的處理器),並且在執行程式碼或軟體時,提供之後所描述的功能。系統架構另包含記憶體250用以儲存執行過程中需要的資料,例如,變數、資料表(data tables)等,以及儲存單元240,用以儲存各式各樣的電子檔案,例如,網頁、文件、音訊檔、視訊檔等。系統架構另包含通訊介面260,讓處理單元210可藉以跟其他電子裝置進行溝通。輸入裝置230可包含觸控面板,使用者可在觸控面板上製造手勢來控制執行中的應用程式,手勢可包含單擊、雙擊、單指拖曳、多指拖曳等,但不限定於此。輸入裝置230亦可包含鍵盤以及滑鼠等設備。
為了讓每一個應用程式可以讓使用者選擇分享到多個連接的螢幕分享接收端中之一者,本發明實施例提出一種方法,可動態偵測連接上的螢幕分享接收端並且客製化應用程式的功能表。客製化後的功能表包含多個選項,讓使用者可以選擇將此應用程式的畫面分享到連接上的螢幕分享接收端中之何者。第3圖係依據本發明實施例之由桌上型電腦130中之處理單元210執行的動態產生功能表的方法流程圖。此方法於使用者啟動螢幕分享功能時執行。此方法分別實施於應用程式架構(application framework)310以及作業系統(OS,Operating System)330。作業系統(OS,Operating System)330可以是微軟視窗(Microsoft Windows)作業系統或其他可執行於桌上型電腦130的作業系統。處理單元210於處理啟動螢幕分享功能的系統程式的執行緒(thread)時,呼叫作業系統330中的列舉視窗功能並向作業系統330註冊叫回函數(callback function)(步驟S311)。當處理單元210於處理列舉視窗功能的執行緒時,判斷是否偵測到一個應用程式的視窗(步驟S331)。若是則執行啟動螢幕分享功能的系統程式所註冊的叫回函數(步驟S333);否則結束整個流程。於步驟S311中,啟動螢幕分享功能的系統程式可使用EnumWindows的應用程式介面(API,Application Program Interface),並且在參數中提供叫回函數。處理單元210於處理叫回函數的執行緒時,取得偵測到視窗的系統功能表複本(duplication)(步驟S313),接著反覆執行一個偵測迴圈,直到沒有偵測到任何的螢幕分享接收端為止(步驟S315至S317)。系統功能表複本中包含多個預先定義的選項,每一選項使用預先定義的識別碼。預先定義識別碼的範例如下所示: 於偵測迴圈中,處理單元210判斷是否偵測到連接的螢幕分享接收端(步驟S315),若是則新增一個選項至此視窗的系統功能表複本,用以讓使用者可藉此將此應用程式的視窗分享至偵測到的螢幕分享接收端(步驟S317),並繼續下一回合的偵測;否 則結束叫回函數。於此須注意的是,當叫回函數結束後,處理單元210會返回處理列舉視窗功能的執行緒,亦即是回到步驟S331繼續嘗試列舉下一個視窗。於步驟S317中,叫回函數需要為新選項從預先保留的識別碼中挑選出一個,而此識別碼關聯於偵測到的螢幕分享接收端,以及提供一個顯示字串。換句話說,於不同列舉視窗中的新增選項,若使用者選擇後是將視窗分享至同一個螢幕分享接收端,則需要指派同一個識別碼。保留識別碼必須確保不被作業系統330濾除,範例如下所示:
以下舉出二個應用程式的實例,說明第3圖所示之動態產生功能表方法。第4A圖係依據本發明實施例之瀏覽器的系統功能表的示意圖。當作業系統列舉視窗功能偵測到瀏覽器視窗已經開啟後(步驟S331),執行註冊的叫回函數(步驟S333)。於叫回函數執行時,處理單元210先取得偵測到的瀏覽器視窗151a的系統功能表複本(system menu instance),其中包 含預先定義的選項410a至410h。接著,當偵測到連接上桌上型電腦130的手機110後(步驟S315中”是”的路徑),新選項410i至瀏覽器視窗151a的系統功能表複本(步驟S317),此選項410i的識別碼可為"0xFF00",顯示字串可為”分享至nakasi:192.168.1.109”。當偵測到連接上桌上型電腦130的手機120後(步驟S315中”是”的路徑),新增一個選項410j至瀏覽器視窗151a的系統功能表複本(步驟S317),此選項410j的識別碼可為"0xFF10",顯示字串可為”分享至WinRcvr:192.168.1.110”。第4B圖係依據本發明實施例之媒體播放器的系統功能表的示意圖。接著,當作業系統列舉視窗功能偵測到媒體播放器已經開啟後(步驟S331),執行註冊的叫回函數(步驟S333)。於叫回函數執行時,處理單元210先取得偵測到的媒體播放器視窗153a的系統功能表複本,其中包含預先定義的選項430a至430e。接著,當偵測到連接上桌上型電腦130的手機110後(步驟S315中”是”的路徑),新增一個選項430f至媒體播放器視窗153a的系統功能表複本(步驟S317),此選項430f的識別碼"0xFF00"相同於選項410i的識別碼,此選項430f的顯示字串”分享至nakasi:192.168.1.109”相同於選項410i的顯示字串。當偵測到連接上桌上型電腦130的手機120後(步驟S315中”是”的路徑),新增一個選項430g至媒體播放器視窗153a的系統功能表複本(步驟S317),此選項430g的識別碼"0xFF10"相同於選項410j的識別碼,此選項430g的顯示文字”分享至WinRcvr:192.168.1.110,,相同於選項410j的顯示文字。當使用者按下選項410a至410j中之任一者時,瀏覽器會發出帶有相應識 別碼的訊息給作業系統330。當使用者按下選項430a至430g中之任一者時,媒體播放器會發出帶有相應識別碼的訊息給作業系統330。
第5圖係依據本發明實施例之桌上型電腦及手機的軟體架構圖。分享來源應用程式531及掛入動態連結程式庫(hook DLL,Dynamic Link Library)533向作業系統330註冊關聯於視窗事件的電腦輔助訓練掛鉤(HCBT,Hook Computer-Based Training),使得掛入動態連結程式庫533可攔截瀏覽器535及媒體播放器537所觸發的視窗事件,例如,選擇系統功能表中的選項、最小化視窗、回復視窗及移動視窗等。掛入動態連結程式庫533全域型的動態連結程式庫(global DLL),使其可攔截所有應用程式所觸發的視窗事件。為分享來源應用程式531及掛入動態連結程式庫533定義所需監聽的視窗事件訊息,範例如下所示:
以上四個訊息依序分別代表選擇系統功能表中的選項、最小化視窗、回復視窗及移動視窗的視窗事件訊息。當處理單元210初始化掛入動態連結程式庫533的執行緒時,向作業系統330註冊上述四個預先定義的訊息,範例程式碼如下所示: 當處理單元210初始化分享來源應用程式531的執行緒時,向作業系統330註冊上述四個預先定義的訊息,範例程式碼如下所示:
第6圖係依據本發明實施例之由桌上型電腦130中之處理單元210執行的視窗事件訊息分派的方法流程圖。處理單元210於處理掛入動態連結程式庫533的執行緒時執行。於接收已經註冊的視窗事件訊息後(步驟S611),判斷視窗事件訊息中的HCBT類型為何(步驟S631)。如果判斷為移動視窗”HCBT_MOVESIZE”類型,則向分享來源應用程式531發送(post)移動視窗訊息”MIRAHOOK_HCBT_MOVESIZE_MSG”,並在訊息中攜帶移動資訊,例如移動後視窗畫面的起始位置、寬度及高度等(步驟S633)。如果判斷為系統命令”HCBT_SYSCOMMAND”類型,則更判斷參數中所指的類型為何(步驟S651)。如果參數中指出此視窗事件訊息為最小化視窗(SC_MINIMIZE)訊息,則向分享來源應用程式531發送最小化視窗訊息”MIRAHOOK_WM_MIN_MSG”(步驟S653)。如果參數中指出此視窗事件訊息為回復視窗(SC_RESTORE)訊息,則向分享來源應用程式531發送回復視窗訊息”MIRAHOOK_WM_RESTORE_MSG”(步驟S655)。如果參數中包含如上所述代表新增選項的識別碼,亦即是此視窗事件訊息為選擇選項訊息,則向分享來源應用程式531發送選擇選項訊息”MIRAHOOK_WM_MENUITEM_MSG”,並在訊息中攜帶參 數中包含的識別碼(步驟S657)。於此須注意的是,動態連結程式庫533用來快速傳遞監聽到的已註冊之視窗事件訊息,而不包含複雜的螢幕分享運算。
第7A及7B圖係依據本發明實施例之由桌上型電腦130中之處理單元210執行的螢幕分享方法流程圖。處理單元210於處理分享來源應用程式531的執行緒時執行。於從掛入動態連結程式庫533接收視窗事件訊息後(步驟S711),判斷視窗事件訊息中的類型為何(步驟S713)。如果視窗事件訊息判斷為選擇選項”MIRAHOOK_WM_MENUITEM”類型,則取得目前的視窗控制(window handle)(步驟S731);取得視窗事件訊息中所攜帶的選項識別碼(步驟S733);將視窗畫面以及欲將視窗畫面分享至哪個螢幕分享接收端的資訊儲存於記憶體250(步驟S735)。於步驟S731中,可使用GetForegroundWindow的應用程式介面來取得目前正在前景(foreground)執行的應用程式的視窗控制。於步驟S733,選項識別碼例如可以是選項410i、410j、430f與430g的識別碼。於步驟S735,視窗控制以及欲將視窗畫面分享至哪個螢幕分享接收端的資訊可使用如下所示範例的接收端結構”Sink”的陣列儲存: 陣列中的每一接收端結構關聯至一個螢幕分享接收端。舉例來說,Sink[0]儲存關聯於手機120的螢幕分享資訊;Sink[1]儲存關聯於手機130的螢幕分享資訊。變數”*m_pCWnd”紀錄指向目前的視窗控制位址。變數”m_iX”、”m_iY”、”m_iWidth”與”m_iHeight”用來記錄分享至手機120或130的視窗畫面的目前起始座標(亦即是左上角座標)、寬度及高度。變數”m_iOldX”、”m_iOldY”、”m_iOldW”與”m_iOldH”用來最小化前的視窗畫面的目前起始座標(亦即是左上角座標)、寬度及高度。變數”m_bIsEXD”紀錄一個布林值(Boolean value),又稱為擴展模式旗標(extended-mode flag),用以指出此應用程式是否處於擴展螢幕模式。此接收端結構的陣列可用來提供多個應用程式的視窗與連接至螢幕分享來源的多個螢幕分享接收端間的對應關係。
如果視窗事件訊息判斷為移動視窗”MIRAHOOK_HCBT_MOVESIZE”類型,則取得目前的視窗控制(步驟S751),接著判斷陣列中是否存在一個具有相同視窗控制的接收端結構(步驟S753)。若是,則繼續判斷指定的螢幕 分享接收端是否連線(步驟S755);否則結束整個流程。如果指定的螢幕分享接收端已經連線(步驟S755中”是”的路徑),則依據視窗事件訊息中攜帶的移動資訊調整畫面串流產生器539的參數並輸出調整後的視窗畫面給指定的螢幕分享接收端(步驟S757);否則結束整個流程。於步驟S751中,可使用GetForegroundWindow的應用程式介面來取得目前正在前景執行的應用程式的視窗控制。於步驟S753中,可比對取得的視窗控制位址與陣列中之每一個接收端結構儲存的視窗控制位址,用以完成如上所述的判斷。第8圖係依據本發明實施例之移動視窗示意圖。假設瀏覽器視窗151a被設定分享至手機110,且初始視窗畫面151a的起始座標為P1(x1,y1)、寬度為W1及高度為H1。於步驟S757,分享來源應用程式531依據視窗事件訊息中攜帶的移動後的視窗畫面起始座標P2(x2,y2)、寬度W2及高度H2調整畫面串流產生器539的參數,使得畫面串流產生器539可從畫面緩存區(frame buffer)中的座標P2(x2,y2)擷取寬度為W2及高度為H2的視窗畫面151a,並且將擷取後的視窗畫面151a輸出至手機110。也就是說,不管視窗畫面151a移動到哪裡,畫面串流產生器539都可依據移動資訊擷取到正確的畫面。此外,於步驟S757中,分享來源應用程式531亦分別更新Sink[0]中的變數值”m_iX”、”m_iY”、”m_iWidth”與”m_iHeight”為x2、y2、W2與H2,用以反映使用者的移動結果。
如果視窗事件訊息判斷為最小化視窗”MIRAHOOK_WM_MIN”類型,則取得目前的視窗控制(步驟S771),接著判斷陣列中是否存在一個具有相同視窗控制的 接收端結構(步驟S772)。若是,則繼續判斷指定的螢幕分享接收端是否連線(步驟S773);否則結束整個流程。如果指定的螢幕分享接收端已經連線(步驟S773中”是”的路徑),則將接收端結構中視窗畫面之目前位置資訊更新至最小化前的位置資訊並且將擴展螢幕模式旗標設為”真”值(步驟S775),將最小化前的視窗畫面儲存於延伸螢幕區(步驟S777),以及調整畫面串流產生器539的參數,用以輸出延伸螢幕區的視窗畫面給指定的螢幕分享接收端(步驟S779);否則結束整個流程。步驟S771、S772及S773的技術細節可參考之前描述關於步驟S751、S753及S755的內容。於步驟S775,詳細來說,分享來源應用程式531將接收端結構中變數值”m_iX”、”m_iY”、”m_iWidth”與”m_iHeight”更新至變數值”m_iOldX”、”m_iOldY”、”m_iOldW”與”m_iOldH”,並且將變數值”m_bIsEXD”設為”真”值。於步驟S777,延伸螢幕區可存在於畫面緩存區中或記憶體250中的指定區域。於此須注意的是,存在延伸螢幕區的視窗畫面並不會顯示在顯示裝置133上。第9圖係依據本發明實施例之最小化視窗示意圖。假設瀏覽器視窗151a被設定分享至手機110,且初始視窗畫面的起始座標為P1(x1,y1)、寬度為W1及高度為H1。於步驟S779,分享來源應用程式531調整畫面串流產生器539的參數,使得畫面串流產生器539可從延伸螢幕區(而非畫面緩存區)輸出視窗畫面151a至手機110,使得在顯示裝置133未顯示視窗畫面151a的情況下,手機110仍然可顯示視窗畫面151b。
如果視窗事件訊息判斷為回復視 窗”MIRAHOOK_WM_RESTORE”類型,則取得目前的視窗控制(步驟S791),接著判斷陣列中是否存在一個具有相同視窗控制的接收端結構(步驟S792)。若是,則繼續判斷指定的螢幕分享接收端是否連線(步驟S793);否則結束整個流程。如果指定的螢幕分享接收端已經連線(步驟S793中”是”的路徑),則將接收端結構中視窗畫面之最小化前的位置資訊更新至目前位置資訊並且將擴展螢幕模式旗標設為”偽”值(步驟S795),依據最小化前的位置資訊將延伸螢幕區中的視窗畫面儲存至畫面緩存區中的指定位置(步驟S797),以及調整畫面串流產生器539的參數,用以輸出回復後的視窗畫面給指定的螢幕分享接收端(步驟S799);否則結束整個流程。步驟S791、S792及S793的技術細節可參考之前描述關於步驟S751、S753及S755的內容。於步驟S795,詳細來說,分享來源應用程式531將接收端結構中變數值”m_iOldX”、”m_iOldY”、”m_iOldW”與”m_iOldH”更新至變數值”m_iX”、”m_iY”、”m_iWidth”與”m_iHeight”,並且將變數值”m_bIsEXD”設為”偽”值。第10圖係依據本發明實施例之回復視窗示意圖。假設瀏覽器視窗151a被設定分享至手機110,且最小化前的視窗畫面的起始座標為P1(x1,y1)、寬度為W1及高度為H1。於步驟S799,分享來源應用程式531調整畫面串流產生器539的參數,使得畫面串流產生器539可從畫面緩存器中的座標P1(x1,y1)擷取寬度為W1及高度為H1的視窗畫面151a,並且將擷取後的視窗畫面151a輸出至手機110。
參考回第5圖,當手機110或120中的處理單元210處理分享接收端應用程式551的執行緒時,將從桌上型電腦130 傳來的視窗畫面送給解碼器553解碼。畫面繪製器555接著將解碼結果繪製在手機110或120中的顯示單元220。繪製結果的範例可參考第1圖中的顯示單元151b及顯示單元153b。
雖然第2圖中包含了以上描述的元件,但不排除在不違反發明的精神下,使用更多其他的附加元件,已達成更佳的技術效果。此外,雖然第3、6、7A、7B圖的方法流程圖採用特定的順序來執行,但是在不違法發明精神的情況下,熟習此技藝人士可以在達到相同效果的前提下,修改這些步驟間的順序,所以,本發明並不侷限於僅使用如上所述的順序。
雖然本發明使用以上實施例進行說明,但需要注意的是,這些描述並非用以限縮本發明。相反地,此發明涵蓋了熟習此技藝人士顯而易見的修改與相似設置。所以,申請權利要求範圍須以最寬廣的方式解釋來包含所有顯而易見的修改與相似設置。
310‧‧‧應用程式架構
330‧‧‧作業系統
S311~S317、S331、S333‧‧‧方法步驟

Claims (20)

  1. 一種螢幕分享方法,由一螢幕分享來源中之一處理單元執行,包含:取得正於一顯示單元開啟的多個應用程式;以及針對每一上述應用程式,偵測連接至上述螢幕分享來源的多個螢幕分享接收端,並且新增多個選項至上述應用程式的一系統功能表;其中,每一上述選項關聯於上述螢幕分享接收端中之一者。
  2. 如申請專利範圍第1項所述的螢幕分享方法,其中,當上述選項被選擇時,將上述應用程式的一視窗畫面傳送至關聯的上述螢幕分享接收端。
  3. 如申請專利範圍第2項所述的螢幕分享方法,其中,於取得正開啟的多個應用程式視窗的步驟中,更包含:使用一作業系統中的一列舉視窗功能來取得正開啟的上述應用程式並向上述作業系統註冊一叫回函數。
  4. 如申請專利範圍第3項所述的螢幕分享方法,其中,當上述作業系統偵測到上述應用程式中之一者時,呼叫上述叫回函數,並且當上述叫回函數執行時,執行偵測上述螢幕分享接收端以及新增上述選項至上述系統功能表的步驟。
  5. 一種螢幕分享方法,由一螢幕分享來源中之一處理單元執行,包含:提供多個應用程式與連接至上述螢幕分享來源的多個螢幕分享接收端間的一對應關係;以及依據上述對應關係將每一上述應用程式的一視窗畫面傳送 至上述螢幕分享接收端中指定的一者。
  6. 如申請專利範圍第5項所述的螢幕分享方法,更包含:取得上述應用程式之一視窗事件訊息;依據上述對應關係取得關聯於上述視窗事件訊息的上述螢幕分享接收端;依據上述視窗事件訊息擷取上述應用程式的上述視窗畫面;以及輸出擷取的上述應用程式的上述視窗畫面給取得的上述螢幕分享接收端。
  7. 如申請專利範圍第6項所述的螢幕分享方法,於依據上述視窗事件訊息擷取上述應用程式的視窗畫面的步驟中,更包含:當上述視窗事件訊息為一移動視窗類型時,依據上述視窗事件訊息中所攜帶之移動後的一起始座標、一寬度以及一高度,於一畫面緩存區中從移動後的上述起始座標擷取上述寬度以及上述高度的區域作為上述應用程式的上述視窗畫面。
  8. 如申請專利範圍第6項所述的螢幕分享方法,於依據上述視窗事件訊息擷取上述應用程式的視窗畫面的步驟中,更包含:當上述視窗事件訊息為一最小化視窗類型時,將最小化前的上述應用程式的上述視窗畫面儲存至一延伸螢幕區,並且擷取上述延伸螢幕區中的資料作為上述應用程式的視窗畫面。
  9. 如申請專利範圍第8項所述的螢幕分享方法,其中,儲存於上述延伸螢幕區中的上述應用程式的上述視窗畫面不會顯示於上述螢幕分享來源中之一顯示單元上。
  10. 如申請專利範圍第6項所述的螢幕分享方法,於依據上述視窗事件訊息擷取上述應用程式的視窗畫面的步驟中,更包含:當上述視窗事件訊息為一回復視窗類型時,取得上述應用程式的上述視窗畫面於最小化前的一起始座標、一寬度以及一高度,將一延伸螢幕區的資料儲存至一畫面緩存區中從上述起始座標開始之上述寬度以及上述高度的之一區域,並且擷取上述區域的資料作為上述應用程式的上述視窗畫面。
  11. 一種螢幕分享裝置,作為一螢幕分享來源,包含:一顯示單元;以及一處理單元,耦接於上述顯示單元,取得正於上述顯示單元開啟的多個應用程式;以及針對每一上述應用程式,偵測連接至上述螢幕分享來源的多個螢幕分享接收端,並且新增多個選項至上述應用程式的一系統功能表;其中,每一上述選項關聯於上述螢幕分享接收端中之一者。
  12. 如申請專利範圍第11項所述的螢幕分享裝置,其中,當上述選項被選擇時,將上述應用程式的一視窗畫面傳送至關聯的上述螢幕分享接收端。
  13. 如申請專利範圍第12項所述的螢幕分享裝置,其中,上述處理單元於處理啟動螢幕分享功能的一系統程式的一執行 緒時,使用一作業系統中的一列舉視窗功能來取得正開啟的上述應用程式並向上述作業系統註冊一叫回函數。
  14. 如申請專利範圍第13項所述的螢幕分享裝置,其中,當上述作業系統偵測到上述應用程式中之一者時,呼叫上述叫回函數,並且當處理單元執行上述叫回函數時,執行偵測上述螢幕分享接收端以及新增上述選項至上述系統功能表的操作。
  15. 一種螢幕分享裝置,作為一螢幕分享來源,包含:一顯示單元;以及一處理單元,耦接於上述顯示單元,提供多個應用程式與連接至上述螢幕分享來源的多個螢幕分享接收端間的一對應關係;以及依據上述對應關係將每一上述應用程式的一視窗畫面傳送至上述螢幕分享接收端中指定的一者。
  16. 如申請專利範圍第15項所述的螢幕分享裝置,其中,上述處理單元取得上述應用程式之一視窗事件訊息;依據上述對應關係取得關聯於上述視窗事件訊息的上述螢幕分享接收端;依據上述視窗事件訊息擷取上述應用程式的上述視窗畫面;以及輸出擷取的上述應用程式的上述視窗畫面給取得的上述螢幕分享接收端。
  17. 如申請專利範圍第16項所述的螢幕分享裝置,其中,當上述視窗事件訊息為一移動視窗類型時,上述處理單元依據上述視窗事件訊息中所攜帶之移動後的一起始座標、一寬度以及一高度,於一畫面緩存區中從移動後的上述起始座標擷取上述寬度以及上述高度的區域作為上述應用程式的 上述視窗畫面。
  18. 如申請專利範圍第16項所述的螢幕分享裝置,其中,當上述視窗事件訊息為一最小化視窗類型時,上述處理單元將最小化前的上述應用程式的上述視窗畫面儲存至一延伸螢幕區,並且擷取上述延伸螢幕區中的資料作為上述應用程式的視窗畫面。
  19. 如申請專利範圍第18項所述的螢幕分享裝置,其中,儲存於上述延伸螢幕區中的上述應用程式的上述視窗畫面不會顯示於上述螢幕分享來源中之上述顯示單元上。
  20. 如申請專利範圍第16項所述的螢幕分享裝置,其中,當上述視窗事件訊息為一回復視窗類型時,取得上述應用程式的上述視窗畫面於最小化前的一起始座標、一寬度以及一高度,將一延伸螢幕區的資料儲存至一畫面緩存區中從上述起始座標開始之上述寬度以及上述高度的之一區域,並且擷取上述區域的資料作為上述應用程式的上述視窗畫面。
TW103121509A 2014-06-23 2014-06-23 螢幕分享方法以及使用該方法的裝置 TWI604375B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW103121509A TWI604375B (zh) 2014-06-23 2014-06-23 螢幕分享方法以及使用該方法的裝置
CN201410304923.6A CN105204797B (zh) 2014-06-23 2014-06-30 屏幕分享方法以及使用该方法的装置
US14/593,169 US10403235B2 (en) 2014-06-23 2015-01-09 Methods for screen-sharing and apparatuses using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW103121509A TWI604375B (zh) 2014-06-23 2014-06-23 螢幕分享方法以及使用該方法的裝置

Publications (2)

Publication Number Publication Date
TW201601059A true TW201601059A (zh) 2016-01-01
TWI604375B TWI604375B (zh) 2017-11-01

Family

ID=54870743

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103121509A TWI604375B (zh) 2014-06-23 2014-06-23 螢幕分享方法以及使用該方法的裝置

Country Status (3)

Country Link
US (1) US10403235B2 (zh)
CN (1) CN105204797B (zh)
TW (1) TWI604375B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI690174B (zh) * 2019-04-09 2020-04-01 聚騰科技股份有限公司 資料傳輸及接收方法
TWI691184B (zh) * 2019-04-09 2020-04-11 聚騰科技股份有限公司 資料傳輸及接收方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PL3180688T3 (pl) 2014-08-12 2021-10-25 Groupon, Inc. Sposób, urządzenie, i produkt w postaci programu komputerowego do sterowania rozprowadzaniem treści za pośrednictwem nadajników-odbiorników w celu wyświetlania
US20170242648A1 (en) * 2016-02-19 2017-08-24 RAPC Systems, Inc. Combined Function Control And Display And System For Displaying And Controlling Multiple Functions
CN107305489A (zh) * 2016-04-20 2017-10-31 凯锐光电股份有限公司 运作于单一操作系统的多装置系统
FR3052887B1 (fr) * 2016-06-15 2019-05-10 Peugeot Citroen Automobiles Sa Gestion interactive de fonctions de configuration et d'exploitation d'un vehicule
CN106231404A (zh) * 2016-07-22 2016-12-14 深圳天珑无线科技有限公司 一种服务器、客户端和多屏互动方法、系统
CN106453538A (zh) * 2016-09-29 2017-02-22 努比亚技术有限公司 屏幕共享装置和方法
CN106453542A (zh) * 2016-09-29 2017-02-22 努比亚技术有限公司 屏幕共享装置和方法
JP6922295B2 (ja) * 2017-03-17 2021-08-18 コニカミノルタ株式会社 情報処理システムおよび情報処理システムの制御方法
CN111400163A (zh) * 2019-01-03 2020-07-10 富泰华工业(深圳)有限公司 软件测试监控装置及方法
CN113316128B (zh) * 2020-02-26 2022-04-05 杭州海康威视数字技术股份有限公司 一种投屏方法、接收端设备及发送端设备
CN112019896B (zh) * 2020-08-27 2022-03-01 北京字节跳动网络技术有限公司 投屏方法、装置、电子设备及计算机可读介质
CN114595020B (zh) * 2022-02-25 2023-12-19 深圳盛显科技有限公司 基于钩子技术的分屏显示方法、装置、系统及存储介质
CN117348778A (zh) * 2022-06-29 2024-01-05 华为技术有限公司 屏幕录制和共享的方法及电子设备

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5564002A (en) * 1994-08-01 1996-10-08 International Business Machines Corporation Method and apparatus for implementing a virtual desktop through window positioning
US8079037B2 (en) * 2005-10-11 2011-12-13 Knoa Software, Inc. Generic, multi-instance method and GUI detection system for tracking and monitoring computer applications
US8407605B2 (en) * 2009-04-03 2013-03-26 Social Communications Company Application sharing
CN101795240A (zh) * 2009-02-03 2010-08-04 宏碁股份有限公司 即时数据分享系统及其机器可读取媒体
US9035997B2 (en) * 2010-05-12 2015-05-19 Blue Jeans Network Systems and methods for real-time multimedia communications across multiple standards and proprietary devices
US9043706B2 (en) * 2010-08-31 2015-05-26 Anders Nancke-Krogh System and method for using state replication between application instances to provide a collaborative desktop environment
US20120239618A1 (en) * 2011-03-16 2012-09-20 I O Interconnect, Ltd. File sharing mechanism
TWI488462B (zh) 2011-04-27 2015-06-11 Acer Inc 資訊共享方法與其裝置
US9557878B2 (en) 2012-04-25 2017-01-31 International Business Machines Corporation Permitting participant configurable view selection within a screen sharing session
CN102750086A (zh) * 2012-05-31 2012-10-24 上海必邦信息科技有限公司 电子设备间实现无线分享显示页面控制的方法
JP2014146229A (ja) * 2013-01-30 2014-08-14 Sharp Corp 画面共有システム及び中央装置
CN103414751B (zh) * 2013-07-16 2016-08-17 广东工业大学 一种pc屏幕内容分享互动控制方法
CN103701927B (zh) * 2013-12-31 2017-06-27 华为技术有限公司 一种终端间的图像共享方法、终端设备及通信系统
US9612730B2 (en) * 2014-01-13 2017-04-04 Cisco Technology, Inc. Viewing different window content with different attendees in desktop sharing
US9392315B1 (en) * 2014-02-26 2016-07-12 Amazon Technologies, Inc. Remote display graphics

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI690174B (zh) * 2019-04-09 2020-04-01 聚騰科技股份有限公司 資料傳輸及接收方法
TWI691184B (zh) * 2019-04-09 2020-04-11 聚騰科技股份有限公司 資料傳輸及接收方法

Also Published As

Publication number Publication date
CN105204797B (zh) 2018-07-17
TWI604375B (zh) 2017-11-01
CN105204797A (zh) 2015-12-30
US10403235B2 (en) 2019-09-03
US20150373066A1 (en) 2015-12-24

Similar Documents

Publication Publication Date Title
TWI604375B (zh) 螢幕分享方法以及使用該方法的裝置
US11042185B2 (en) User terminal device and displaying method thereof
US20210216101A1 (en) User terminal device and displaying method thereof
US20220191653A1 (en) Layers in messaging applications
AU2014288039B2 (en) Remote operation of applications using received data
US9881353B2 (en) Buffers for display acceleration
US9864612B2 (en) Techniques to customize a user interface for different displays
KR101215230B1 (ko) 다중-컨텍스트 그래픽 처리
TWI515646B (zh) 擴展螢幕模式下之應用程式運作方法以及使用該方法的平板電腦
US9389884B2 (en) Method and apparatus for providing adaptive wallpaper display for a device having multiple operating system environments
US20140137020A1 (en) Graphical user interface for navigating applications
US10133704B2 (en) Dynamic layout of content in a grid based application
JP6440828B2 (ja) デジタルコンテンツの可視性の検出
US11455075B2 (en) Display method when application is exited and terminal
US20180196584A1 (en) Execution of multiple applications on a device
CN112055072A (zh) 云端音频输入方法、装置、云系统、电子设备与存储介质
US10327027B2 (en) Methods for screencasting and systems and apparatuses using the same
US20140229823A1 (en) Display apparatus and control method thereof
WO2022242628A1 (zh) 投屏方法、装置、设备及存储介质
CN111708533B (zh) 在应用瘦客户端中设置鼠标显示状态的方法及装置
US20160014168A1 (en) Methods for sharing applications between apparatuses and systems using the same
WO2013185664A1 (zh) 一种操作方法及装置
US8587599B1 (en) Asset server for shared hardware graphic data
EP3394806A1 (en) Providing task oriented organization of communications