国产精品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>

      一種應用程序窗口的控制方法及裝置的制作方法

      文檔序號:6402083閱讀:169來源:國知局
      專利名稱:一種應用程序窗口的控制方法及裝置的制作方法
      技術領域
      本發(fā)明的實施方式涉及應用程序窗口領域,更具體地,本發(fā)明的實施方式涉及一種應用程序窗口的控制方法及裝置。
      背景技術
      本部分旨在為權利要求書中陳述的本發(fā)明的實施方式提供背景或上下文。此處的描述可包括可以探究的概念,但不一定是之前已經想到或者已經探究的概念。因此,除非在此指出,否則在本部分中描述的內容對于本申請的說明書和權利要求書而言不是現(xiàn)有技術,并且并不因為包括在本部分中就承認是現(xiàn)有技術。應用程序在運行過程中,其功能邏輯計算和窗口的畫面更新等將占用一定CPU、內存、顯存等系統(tǒng)資源。在某些應用場景下,用戶可能會有多個應用程序同時運行的需求。例如,網絡游戲應用場景,玩家可能常常需要同時打開多個游戲客戶端。在這種情況下,其功能邏輯計算和窗口的畫面更新可能會占滿系統(tǒng)資源導致客戶端無法順暢的運行。

      發(fā)明內容
      分析用戶在多個應用程序同時運行時的行為,在任意時刻,用戶的關注焦點往往只是當前正在被操作的應用程序的窗口,而其他非焦點應用程序的窗口的畫面很少被用戶所關注。然而,恰恰是這些非焦點應用程序的窗口畫面的更新,消耗了大量的系統(tǒng)資源。但是,由于缺乏對運行的多個應用程序的窗口及其畫面更新的統(tǒng)一控制,現(xiàn)有技術無法解決如何在不影響用戶運行多個應用程序的體驗的情況下,減少運行的多個應用程序的窗口畫面更新對系統(tǒng)資源占用的問題。因此在現(xiàn)有技術中,運行的多個應用程序的窗口畫面更新對系統(tǒng)資源的占用是非常令人煩惱的問題。為此,非常需要一種改進的應用程序的窗口的控制方法,以實現(xiàn)在不影響用戶運行多個應用程序的體驗的情況下,減少運行的多個應用程序的窗口畫面更新對系統(tǒng)資源的占用。在本上下文中,本發(fā)明的實施方式期望提供一種應用程序窗口的控制方法及裝置。在本發(fā)明實施方式的第一方面中,提供了一種應用程序窗口的控制方法,例如,可以包括:將運行的至少兩個應用程序的相應窗口以子窗口的形式掛接于同一主窗口的不同標簽頁中;對所述主窗口的標簽切換操作進行監(jiān)測;如果監(jiān)測到標簽切換操作,隱藏標簽切換操作前處于顯示狀態(tài)的子窗口,且停止該子窗口中運行的應用程序的窗口畫面更新操作;以及,
      顯示切換到的子窗口,且開啟該子窗口中運行的應用程序的窗口畫面更新操作??蛇x地,所述隱藏標簽切換操作前處于顯示狀態(tài)的子窗口,且停止該子窗口中運行的應用程序的窗口畫面更新操作可以包括:從保存的子窗口信息中,查詢標簽切換操作前處于顯示狀態(tài)的子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID,該應用程序對應的進程和/或線程和/或子窗口為第一對象;根據該第一對象ID,向所述第一對象發(fā)送隱藏窗口且停止窗口畫面更新操作的消息,使切換操作前處于顯示狀態(tài)的子窗口中運行的應用程序對應的進程和/或線程根據該消息隱藏窗口且停止窗口畫面更新操作;其中所述顯示切換到的子窗口,且開啟該子窗口中運行的應用程序的窗口畫面更新操作可以包括:從預先保存的子窗口信息中,查詢切換到的子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID,該應用程序對應的進程和/或線程和/或子窗口為第二對象;根據第二對象ID,向所述第二對象發(fā)送顯示窗口且開啟窗口畫面更新操作的消息,使切換到的子窗口中運行的應用程序對應的進程和/或線程根據該消息顯示窗口且開啟窗口畫面更新操作??蛇x地,所述將運行的至少兩個應用程序的相應窗口以子窗口的形式掛接于同一主窗口的不同標簽頁中具體實現(xiàn)可以為:如果有應用程序運行的請求,判斷是否已存在包含標簽頁的主窗口 ;如果不存在,創(chuàng)建包含標簽頁的主窗口 ;執(zhí)行掛接步驟,包括:創(chuàng)建與該應用程序對應的進程和/或線程以運行該應用程序,向該應用程序對應的進程和/或線程發(fā)送設置該主窗口為父窗口的消息,使該應用程序對應的進程和/或線程根據消息設置該主窗口為父窗口,通過該設置使該應用程序的窗口以子窗口的形式掛接于該主窗口的空閑標簽頁中,并把該應用程序對應的進程和/或線程和/或子窗口的ID保存于子窗口信息中;判斷是否還有應用程序運行的請求,如果有,返回到執(zhí)行掛接步驟??蛇x地,其中所述判斷是否已存在包含標簽頁的主窗口可以在應用程序運行的請求并非由主窗口中的控件觸發(fā)時進行判斷??蛇x地,該方法還可以包括:如果有針對某一子窗口的分離請求,根據針對該子窗口的分離請求,確定該子窗口所掛接的源主窗口、請求合并到的目標主窗口及該子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID;判斷是否存在所述目標主窗口,如果不存在,創(chuàng)建包含標簽頁的目標主窗口 ;將該子窗口所掛接的標簽頁從所述源主窗口中刪除,同時,根據進程和/或線程和/或子窗口的ID,向該進程和/或線程發(fā)送設置目標主窗口為父窗口的消息,使該進程和/或線程根據該消息設置目標主窗口為父窗口,通過該設置使該應用程序的窗口以子窗口的形式掛接于該目標主窗口的空閑標簽頁中??蛇x地,該方法還可以包括:
      如果從所述應用程序對應的進程和/或線程接收到高亮提示的消息,確定該應用程序的窗口所掛接的主窗口;判斷該應用程序的窗口所掛接的主窗口是否處于激活狀態(tài);如果否,將該應用程序的窗口所掛接的主窗口設置為高亮顯示;判斷該應用程序的窗口所掛接的標簽頁是否處于激活狀態(tài);如果否,將該應用程序的窗口所掛接的標簽頁的標簽設置為高亮顯示??蛇x地,該方法還可以包括:如果從所述應用程序對應的進程和/或線程接收到窗口屬性變化的消息,確定該應用程序的窗口所掛接的主窗口;對該主窗口進行與所述窗口屬性變化對應的屬性設置。可選地,該方法還可以包括:如果從所述應用程序對應的進程和/或線程接收到用戶設置的消息,確定該應用程序的窗口所掛接的主窗口;查找出該主窗口中的其他子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID ;根據該主窗口中的其他子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID,向所述其他子窗口中運行的應用程序對應的進程和/或線程發(fā)送該用戶設置的消息,使所述其他子窗口中運行的應用程序對應的進程和/或線程根據該消息進行用戶設置??蛇x地,所述消息可以通過主窗口與其中的子窗口之間的緩存消息隊列進行通信;還設置有超時參數,當所述消息傳輸時間超過所述超時參數時,根據預設發(fā)送規(guī)貝U,重新發(fā)送所述消息。可選地,所述消息為特定消息時,該特定消息可以通過主窗口與其中的子窗口之間的特定緩存消息隊列進行阻塞式通信??蛇x地,所述消息的格式可以為與消息內容對應的特定格式;所述特定格式可以由消息頭標識;所述消息在接收后,根據消息頭標識,采用與消息頭標識對應的解析函數進行解析后,獲得消息內容。在本發(fā)明實施方式的第二方面中,提供了一種應用程序窗口的控制裝置,例如,可以包括:創(chuàng)建單元:配置用于將運行的至少兩個應用程序的相應窗口以子窗口的形式掛接于同一主窗口的不同標簽頁中;監(jiān)測單元:配置用于對所述主窗口的標簽切換操作進行監(jiān)測;執(zhí)行單元:配置用于如果監(jiān)測到標簽切換操作,隱藏標簽切換操作前處于顯示狀態(tài)的子窗口,且停止該子窗口中運行的應用程序的窗口畫面更新操作;以及,顯示切換到的子窗口,且開啟該子窗口中運行的應用程序的窗口畫面更新操作。可選地,所述執(zhí)行單元:可以配置用于從保存的子窗口信息中,查詢標簽切換操作前處于顯示狀態(tài)的子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID,該應用程序對應的進程和/或線程和/或子窗口為第一對象;根據該第一對象ID,向所述第一對象發(fā)送隱藏窗口且停止窗口畫面更新操作的消息,使切換操作前處于顯示狀態(tài)的子窗口中運行的應用程序對應的進程和/或線程根據該消息隱藏窗口且停止窗口畫面更新操作;從預先保存的子窗口信息中,查詢切換到的子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID,該應用程序對應的進程和/或線程和/或子窗口為第二對象;根據第二對象ID,向所述第二對象發(fā)送顯示窗口且開啟窗口畫面更新操作的消息,使切換到的子窗口中運行的應用程序對應的進程和/或線程根據該消息顯示窗口且開啟窗口畫面更新操作??蛇x地,所述創(chuàng)建單元:可以配置用于如果有應用程序運行的請求,判斷是否已存在包含標簽頁的王窗口 ;如果不存在,創(chuàng)建包含標簽頁的王窗口 ;執(zhí)彳了掛接步驟,包括:創(chuàng)建與該應用程序對應的進程和/或線程以運行該應用程序,向該應用程序對應的進程和/或線程發(fā)送設置該主窗口為父窗口的消息,使該應用程序對應的進程和/或線程根據消息設置該主窗口為父窗口,通過該設置使該應用程序的窗口以子窗口的形式掛接于該主窗口的空閑標簽頁中,并把該應用程序對應的進程和/或線程和/或子窗口的ID保存于子窗口信息中;判斷是否還有應用程序運行的請求,如果有,返回到執(zhí)行掛接步驟??蛇x地,所述創(chuàng)建單元:可以配置用于在應用程序運行的請求并非由主窗口中的控件觸發(fā)時,進行是否已存在包含標簽頁的主窗口的判斷??蛇x地,該裝置還可以包括:分離合并單元:可以配置用于如果有針對某一子窗口的分離請求,根據針對該子窗口的分離請求,確定該子窗口所掛接的源主窗口、請求合并到的目標主窗口及該子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID ;判斷是否存在所述目標主窗口,如果不存在,創(chuàng)建包含標簽頁的目標主窗口 ;將該子窗口所掛接的標簽頁從所述源主窗口中刪除,同時,根據進程和/或線程和/或子窗口的ID,向該進程和/或線程發(fā)送設置目標主窗口為父窗口的消息,使該進程和/或線程根據該消息設置目標主窗口為父窗口,通過該設置使該應用程序的窗口以子窗口的形式掛接于該目標主窗口的空閑標簽頁中??蛇x地,該裝置還可以包括:高亮顯示單元:可以配置用于如果從所述應用程序對應的進程和/或線程接收到高亮提示的消息,確定該應用程序的窗口所掛接的主窗口 ;判斷該應用程序的窗口所掛接的主窗口是否處于激活狀態(tài);如果否,將該應用程序的窗口所掛接的主窗口設置為高亮顯示;判斷該應用程序的窗口所掛接的標簽頁是否處于激活狀態(tài);如果否,將該應用程序的窗口所掛接的標簽頁的標簽設置為聞売顯不??蛇x地,該裝置還可以包括:窗口屬性設置單元:可以配置用于如果從所述應用程序對應的進程和/或線程接收到窗口屬性變化的消息,確定該應用程序的窗口所掛接的主窗口 ;對該主窗口進行與所述窗口屬性變化對應的屬性設置??蛇x地,該裝置還可以包括:用戶設置單元:可以配置用于如果從所述應用程序對應的進程和/或線程接收到用戶設置的消息,確定該應用程序的窗口所掛接的主窗口 ;查找出該主窗口中的其他子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID ;根據該主窗口的其他子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID,向所述其他子窗口中運行的應用程序對應的進程和/或線程發(fā)送該用戶設置的消息,使所述其他子窗口中運行的應用程序對應的進程和/或線程根據該消息進行用戶設置。根據本發(fā)明實施方式的一種應用程序窗口的控制方法及裝置,利用了包含標簽頁的窗口,將運行的至少兩個應用程序的相應窗口以子窗口的形式掛接于同一主窗口的不同標簽頁中,可以在當前時刻僅顯示正在被操作的應用程序的窗口,但是,在當前時刻僅顯示正在被操作的應用程序的窗口并不能解決系統(tǒng)資源被大量占用的問題,因此,本發(fā)明提出在監(jiān)測到窗口切換操作時,停止隱藏的窗口中運行的應用程序的畫面更新操作、開啟顯示的窗口中運行的應用程序的畫面更新操作,對于用戶來說,由于其僅關注當前正在被操作的應用程序的窗口,不會感覺到對隱藏的窗口畫面更新操作停止的變化,達到了既不影響用戶體驗,又能夠節(jié)省系統(tǒng)資源的目的;而且,由于節(jié)省了如CPU、GPU (圖形處理器)等系統(tǒng)資源,還為提高處于顯示狀態(tài)的應用程序的窗口的畫面效果、更高的顯示分辨率提供了空間。


      通過參考附圖閱讀下文的詳細描述,本發(fā)明示例性實施方式的上述以及其他目的、特征和優(yōu)點將變得易于理解。在附圖中,以示例性而非限制性的方式示出了本發(fā)明的若干實施方式,其中:圖1示意性地示出了適于實現(xiàn)本發(fā)明實施方式的示例性計算系統(tǒng)100的框圖;圖2示意性地示出了現(xiàn)有技術中運行的多個應用程序的窗口示意圖;圖3示意性地示出了本發(fā)明對運行的多個應用程序的窗口統(tǒng)一控制示意圖;圖4示意性地示出了根據本發(fā)明一實施例的方法流程圖;圖5示意性地示出了根據本發(fā)明又一實施例的消息交互示意圖;圖6示意性地示出了根據本發(fā)明再一實施例的消息交互示意圖;圖7示意性地示出了根據本發(fā)明一實施例的裝置結構圖;在附圖中,相同或對應的標號表不相同或對應的部分。
      具體實施例方式下面將參考若干示例性實施方式來描述本發(fā)明的原理和精神。應當理解,給出這些實施方式僅僅是為了使本領域技術人員能夠更好地理解進而實現(xiàn)本發(fā)明,而并非以任何方式限制本發(fā)明的范圍。相反,提供這些實施方式是為了使本公開更加透徹和完整,并且能夠將本公開的范圍完整地傳達給本領域的技術人員。圖1示出了適于實現(xiàn)本發(fā)明實施方式的示例性計算系統(tǒng)100的框圖。如圖1所示,計算系統(tǒng)100可以包括:中央處理單元(CPU) 101、隨機存取存儲器(RAM) 102、只讀存儲器(ROM) 103、系統(tǒng)總線104、硬盤控制器105、鍵盤控制器106、串行接口控制器107、并行接口控制器108、顯示控制器109、硬盤110、鍵盤111、串行外部設備112、并行外部設備113和顯示器114。這些設備中,與系統(tǒng)總線104耦合的有CPU 10URAM 102, ROM 103、硬盤控制器105、鍵盤控制器106、串行控制器107、并行控制器108和顯示控制器109。硬盤110與硬盤控制器105耦合,鍵盤111與鍵盤控制器106耦合,串行外部設備112與串行接口控制器107耦合,并行外部設備113與并行接口控制器108耦合,以及顯示器114與顯示控制器109耦合。應當理解,圖1所述的結構框圖僅僅是為了示例的目的,而不是對本發(fā)明范圍的限制。在某些情況下,可以根據具體情況增加或減少某些設備。本領域技術技術人員知道,本發(fā)明的實施方式可以實現(xiàn)為一種系統(tǒng)、方法或計算機程序產品。因此,本公開可以具體實現(xiàn)為以下形式,即:完全的硬件、完全的軟件(包括固件、駐留軟件、微代碼等),或者硬件和軟件結合的形式,本文一般稱為“電路”、“模塊”或“系統(tǒng)”。此外,在一些實施例中,本發(fā)明還可以實現(xiàn)為在一個或多個計算機可讀介質中的計算機程序產品的形式,該計算機可讀介質中包含計算機可讀的程序代碼??梢圆捎靡粋€或多個計算機可讀的介質的任意組合。計算機可讀介質可以是計算機可讀信號介質或者計算機可讀存儲介質。計算機可讀存儲介質例如可以是,但不限于,電、磁、光、電磁、紅外線、或半導體的系統(tǒng)、裝置或器件,或者任意以上的組合。計算機可讀存儲介質的更具體的例子(非窮舉示例)例如可以包括:具有一個或多個導線的電連接、便攜式計算機磁盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計算機可讀存儲介質可以是任何包含或存儲程序的有形介質,該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用。計算機可讀的信號介質可以包括在基帶中或者作為載波一部分傳播的數據信號,其中承載了計算機可讀的程序代碼。這種傳播的數據信號可以采用多種形式,包括但不限于電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質還可以是計算機可讀存儲介質以外的任何計算機可讀介質,該計算機可讀介質可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用的程序。計算機可讀介質上包含的程序代碼可以用任何適當的介質傳輸,包括但不限于無線、電線、光纜、RF等等,或者上述的任意合適的組合??梢砸砸环N或多種程序設計語言或其組合來編寫用于執(zhí)行本發(fā)明操作的計算機程序代碼,所述程序設計語言包括面向對象的程序設計語言一諸如Java、Smalltalk、C++,還包括常規(guī)的過程式程序設計語言一諸如“C”語言或類似的程序設計語言。程序代碼可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網絡(包括局域網(LAN)或廣域網(WAN))連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網服務提供商來通過因特網連接)。下面將參照本發(fā)明實施例的方法的流程圖和設備(或系統(tǒng))的框圖描述本發(fā)明的實施方式。應當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合都可以由計算機程序指令實現(xiàn)。這些計算機程序指令可以提供給通用計算機、專用計算機或其它可編程數據處理裝置的處理器,從而生產出一種機器,這些計算機程序指令通過計算機或其它可編程數據處理裝置執(zhí)行,產生了實現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的裝置。也可以把這些計算機程序指令存儲在能使得計算機或其它可編程數據處理裝置以特定方式工作的計算機可讀介質中,這樣,存儲在計算機可讀介質中的指令就產生出一個包括實現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的指令裝置的產品。也可以把計算機程序指令加載到計算機、其它可編程數據處理裝置、或其它設備上,使得在計算機、其它可編程數據處理裝置或其它設備上執(zhí)行一系列操作步驟,以產生計算機實現(xiàn)的過程,從而使得在計算機或其它可編程裝置上執(zhí)行的指令能夠提供實現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的過程。根據本發(fā)明的實施方式,提出了一種應用程序窗口的控制方法和裝置。在本文中,需要理解的是,附圖中的任何元素數量均用于示例而非限制,以及任何命名都僅用于區(qū)分,而不具有任何限制含義。下面參考本發(fā)明的若干代表性實施方式,詳細闡釋本發(fā)明的原理和精神。發(fā)明概述本發(fā)明人發(fā)現(xiàn),用戶關注的焦點往往僅是當前正在被操作的應用程序的窗口,如果利用包含標簽頁的窗口,可以僅顯示當前正在被操作的應用程序的窗口、隱藏非焦點應用程序的窗口,但是包含標簽頁的窗口的顯示/隱藏的切換并不能解決減少系統(tǒng)資源占用的問題,因此本發(fā)明人提出,在監(jiān)測到標簽切換操作時,停止隱藏的窗口中運行的應用程序的畫面更新操作、開啟顯示的窗口中運行的應用程序的畫面更新操作,可以在用戶無感的情況下,停止非焦點應用程序的窗口畫面更新操作,達到節(jié)省資源的目的。在介紹了本發(fā)明的基本原理之后,下面具體介紹本發(fā)明的各種非限制性實施方式。應用場景總覽首先參考圖2,為現(xiàn)有技術運行的多個應用程序的相應窗口,該運行的多個應用程序的相應窗口的畫面更新操作占用了大量的系統(tǒng)資源,應用本發(fā)明方法實施例,可以將運行的多個應用程序的相應窗口進行統(tǒng)一控制,掛接于如圖3所示的包含標簽頁的窗口,對顯示的應用程序的窗口開啟畫面更新操作,對隱藏的應用程序的窗口停止畫面更新操作,可以在不影響用戶體驗的情況下,減少運行的應用程序的窗口畫面更新操作對系統(tǒng)資源的占用。示例性方法下面結合圖3的應用場景,參考圖4來描述根據本發(fā)明示例性實施方式的應用程序窗口的控制方法。需要注意的是,上述應用場景僅是為了便于理解本發(fā)明的精神和原理而示出,本發(fā)明的實施方式在此方面不受任何限制。相反,本發(fā)明的實施方式可以應用于適用的任何場景。參見圖4,為本發(fā)明提供的一種應用程序窗口的控制方法流程圖,如圖所示,該方法可以包括:S401、將運行的至少兩個應用程序的相應窗口以子窗口的形式掛接于同一主窗口的不同標簽頁中;S402、對所述主窗口的標簽切換操作進行監(jiān)測;S403、如果監(jiān)測到標簽切換操作,隱藏標簽切換操作前處于顯示狀態(tài)的子窗口,且停止該子窗口中運行的應用程序的窗口畫面更新操作;以及,S404、顯示切換到的子窗口,且開啟該子窗口中運行的應用程序的窗口畫面更新操作。
      應用上述實施例方法,由于將運行的至少兩個應用程序的相應窗口以子窗口的形式掛接于同一主窗口的不同標簽頁中,可以在當前時刻僅顯示正在被操作的應用程序的窗口,而且,監(jiān)測到窗口切換操作時,停止隱藏的窗口中運行的應用程序的畫面更新操作、開啟顯示的窗口中運行的應用程序的畫面更新操作,對于用戶來說,由于其僅關注當前正在被操作的應用程序的窗口,不會感覺到對隱藏的窗口畫面更新操作停止的變化,因此,可以在不影響用戶運行多個應用程序的體驗的情況下,節(jié)省系統(tǒng)資源。下面,以下述實施方式為例對本發(fā)明方法的具體實現(xiàn)進行詳細說明:例如,步驟S401將運行的至少兩個應用程序的相應窗口以子窗口的形式掛接于同一主窗口的不同標簽頁中的具體實現(xiàn)可以為:如果有應用程序運行的請求,判斷是否已存在包含標簽頁的主窗口 ;如果不存在,創(chuàng)建包含標簽頁的主窗口 ;執(zhí)行掛接步驟,包括:創(chuàng)建與該應用程序對應的進程和/或線程以運行該應用程序,向該應用程序對應的進程和/或線程發(fā)送設置該主窗口為父窗口的消息,使該應用程序對應的進程和/或線程根據消息設置該主窗口為父窗口,通過該設置使該應用程序的窗口以子窗口的形式掛接于該主窗口的空閑標簽頁中,并把該應用程序對應的進程和/或線程和/或子窗口的ID保存于子窗口信息中;判斷是否還有應用程序運行的請求,如果有,返回到執(zhí)行掛接步驟。在該具體實現(xiàn)方式中,根據應用程序的運行請求,創(chuàng)建對應的進程和/或線程,相當于在運行方面,采取了運行的多個應用程序分別對應獨立的進程和/或線程的運行機制。通過向該應用程序對應的進程和/或線程發(fā)送相應消息實現(xiàn)子窗口的掛接,相當于在通信方面,采取了主進程與運行的多個應用程序對應的獨立的進程和/或線程的通信的機制。因此,不僅運行機制穩(wěn)定性較好,而且通信機制簡單高效。考慮到采取多進程方式更能夠使運行的各個應用程序以及窗口的資源、邏輯獨立,可以防止單個應用程序運行的崩潰而導致其他應用程序的運行受到影響,因此,根據應用程序的運行請求,創(chuàng)建對應的進程而非線程的方式為更加優(yōu)選方式。還需要說明的是,所述判斷是否已存在包含標簽頁的主窗口可以在應用程序運行的請求并非由主窗口中的控件觸發(fā)時進行判斷。例如:在本發(fā)明具體實施時,應用程序運行的請求的觸發(fā)至少可以包括以下兩種示例性方式:方式一:由應用程序執(zhí)行文件被點擊觸發(fā)應用程序運行的請求,由于該應用程序運行請求被觸發(fā)事件不與包含標簽頁的主窗口相關,不能確定是否已存在包含標簽頁的主窗口,因此,需要進行是否已存在包含標簽頁的主窗口的判斷;方式二:由主窗口中的特定控件被點擊觸發(fā)應用程序運行的請求,由于該應用程序運行請求被觸發(fā)事件與已存在的包含標簽頁的主窗口相關,可以確定已存在包含標簽頁的主窗口,因此,無需進行是否已存在包含標簽頁的主窗口的判斷。例如,本發(fā)明步驟S402所述對主窗口的標簽切換操作進行監(jiān)測,可以根據標簽切換操作的實現(xiàn)方式采取相應的監(jiān)測手段,例如:主窗口的標簽切換操作可以由鼠標對標簽頁的點擊觸發(fā),也可以由按下功能熱鍵的狀態(tài)觸發(fā),相應地,對主窗口的標簽切換操作進行監(jiān)測可以包括對鼠標對標簽頁的點擊的監(jiān)測、對按下功能熱鍵的狀態(tài)的監(jiān)測。具體監(jiān)測的手段根據標簽切換操作的實現(xiàn)方式進行設定。再例如,本發(fā)明步驟S403所述隱藏標簽切換操作前處于顯示狀態(tài)的子窗口,且停止該子窗口中運行的應用程序的窗口畫面更新操作可以包括:從保存的子窗口信息中,查詢標簽切換操作前處于顯示狀態(tài)的子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID,該應用程序對應的進程和/或線程和/或子窗口為第一對象;根據該第一對象ID,向所述第一對象發(fā)送隱藏窗口且停止窗口畫面更新操作的消息,使切換操作前處于顯示狀態(tài)的子窗口中運行的應用程序對應的進程和/或線程根據該消息隱藏窗口且停止窗口畫面更新操作;步驟S404所述顯示切換到的子窗口,且開啟該子窗口中運行的應用程序的窗口畫面更新操作可以包括:從預先保存的子窗口信息中,查詢切換到的子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID,該應用程序對應的進程和/或線程和/或子窗口為第二對象;根據第二對象ID,向所述第二對象發(fā)送顯示窗口且開啟窗口畫面更新操作的消息,使切換到的子窗口中運行的應用程序對應的進程和/或線程根據該消息顯示窗口且開啟窗口畫面更新操作。在該實施例中,監(jiān)測到標簽切換操作后,通過與相應子窗口中的應用程序的進程和/或線程發(fā)送相應的控制消息實現(xiàn)對窗口隱藏、顯示、窗口畫面更新操作關閉與開啟切換的控制。可見,在運行方面,同樣采取了運行的多個應用程序分別對應獨立的進程和/或線程的運行機制,在通信方面,同樣采取了主進程與運行的多個應用程序對應的獨立的進程和/或線程的通信的機制,因此,具有運行機制穩(wěn)定性好,通信機制簡單高效的優(yōu)點。當然,在本發(fā)明中并不限制其他隱藏窗口、顯示窗口、關閉或開啟窗口畫面更新操作的控制方法,上述實施例僅為示意性說明。在本發(fā)明另一實施例中,還可以將所述運行的至少兩個應用程序的相應窗口,從掛接于同一主窗口分離為掛接于不同的主窗口。相當于可以根據用戶實際需求,達到分組顯示的效果。例如,具體實現(xiàn)可以包括:如果有針對某一子窗口的分離請求,根據針對該子窗口的分離請求,確定該子窗口所掛接的源主窗口、請求合并到的目標主窗口及該子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID;判斷是否存在所述目標主窗口,如果不存在,創(chuàng)建包含標簽頁的目標主窗口 ;將該子窗口所掛接的標簽頁從所述源主窗口中刪除,同時,根據進程和/或線程和/或子窗口的ID,向該進程和/或線程發(fā)送設置目標主窗口為父窗口的消息,使該進程和/或線程根據該消息設置目標主窗口為父窗口,通過該設置使該應用程序的窗口以子窗口的形式掛接于該目標主窗口的空閑標簽頁中。需要說明的是,在將該子窗口所掛接的標簽頁從所述源主窗口中刪除之后,還可以向所述源主窗口的另一子窗口中運行的應用程序對應的進程和/或線程發(fā)送顯示窗口及開啟窗口畫面更新操作的消息,使該另一子窗口中運行的應用程序對應的進程和/或線程根據該消息顯示窗口且開啟窗口畫面更新操作;
      和/或者,所述向該進程和/或線程發(fā)送設置目標主窗口為父窗口的消息,還可以包括顯示窗口及開啟窗口畫面更新操作的消息,使該進程和/或線程根據該消息在目標主窗口中顯示子窗口及開啟窗口畫面更新操作,同時,向目標主窗口中之前顯示的子窗口中運行的應用程序對應的進程和/或線程發(fā)送隱藏窗口及停止窗口畫面更新操作的消息,使目標主窗口中之前顯示的子窗口中運行的應用程序對應的進程和/或線程根據該消息隱藏窗口及停止窗口畫面更新操作。在該實施例中:所述針對某一子窗口的分離請求可以由用戶對標簽頁的拖拽操作觸發(fā),也可以由用戶對標簽頁的功能菜單的分離選項的點擊操作觸發(fā),或者其他觸發(fā)形式,在本發(fā)明中并不限制。因此,是否有子窗口的分離請求可以根據子窗口的分離請求的觸發(fā)操作相應進行監(jiān)測獲知。所述根據針對該子窗口的分離請求,確定該子窗口所掛接的源主窗口、請求合并到的目標主窗口,可以通過對子窗口的分離請求觸發(fā)操作進行監(jiān)測確定。例如:如果監(jiān)測到用戶對標簽頁的拖拽操作觸發(fā)子窗口的分離請求,則可以確定被拖拽的標簽頁所在主窗口為該子窗口所掛接的源主窗口,再判斷被拖拽的標簽頁被拖拽到的位置,如果拖拽到已存在的另一主窗口位置區(qū)域,則可以確定請求合并到的目標主窗口為該已存在的另一主窗口,如果拖拽到的位置不是任何主窗口的位置區(qū)域,則可以確定請求合并到的目標主窗口目前不存在?;蛘?,如果監(jiān)測到用戶對標簽頁的功能菜單的分離選項的點擊操作觸發(fā)子窗口的分離請求,則可以確定被點擊的標簽頁所在主窗口為該子窗口所掛接的源主窗口,再提取分離選項中被選中的參數,根據該參數確定請求合并到的目標主窗口,例如,該參數可以為目標主窗口的標識,或者,為新建目標主窗口選項。當然,還可以通過其他方式確定源主窗口及目標主窗口,在本發(fā)明中并不進行限制。在本發(fā)明中,由于可能存在多個主窗口,僅有一主窗口處于激活狀態(tài),且主窗口中僅顯示切換到的標簽頁的子窗口,其他子窗口被隱藏,僅以標簽頁的標簽顯示,因此,當被隱藏的子窗口中運行的應用程序對應的進程和/或線程在執(zhí)行到重要邏輯事件時,可能產生高亮方式提示用戶的需求,為滿足這一需求,本發(fā)明還可以包括:如果從所述應用程序對應的進程和/或線程接收到高亮提示的消息,確定該應用程序的窗口所掛接的主窗口;判斷該應用程序的窗口所掛接的主窗口是否處于激活狀態(tài);如果否,將該應用程序的窗口所掛接的主窗口設置為高亮顯示;判斷該應用程序的窗口所掛接的標簽頁是否處于激活狀態(tài);如果否,將該應用程序的窗口所掛接的標簽頁的標簽設置為高亮顯示。另外,考慮到主窗口應該與子窗口的變化相適配,例如,窗口尺寸等,因此,本發(fā)明還提出:如果從所述應用程序對應的進程和/或線程接收到窗口屬性變化的消息,確定該應用程序的窗口所掛接的主窗口 ;對該主窗口進行與所述窗口屬性變化對應的屬性設置。
      或者,某一子窗口中運行的應用程序對應的進程和/或線程進行的用戶設置同樣需要應用到主窗口的其他子窗口中,例如:用戶對游戲分辨率的設置不僅在當前被操作的窗口生效,還應在主窗口的其他子窗口中生效,因此,本發(fā)明還提出:如果從所述應用程序對應的進程和/或線程接收到用戶設置的消息,確定該應用程序的窗口所掛接的主窗口;查找出該主窗口中的其他子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID ;根據該主窗口中的其他子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID,向所述其他子窗口中運行的應用程序對應的進程和/或線程發(fā)送該用戶設置的消息,使所述其他子窗口中運行的應用程序對應的進程和/或線程根據該消息進行用戶設置。為了使本發(fā)明的具體實施方式
      更加易于理解,下面結合圖5和圖6所示的消息交互示意圖,對消息交互過程進行詳細說明。例如,如圖5及圖6所示的主進程501為應用本發(fā)明方法的執(zhí)行主體,子窗口中運行的應用程序可以由對應的進程和/或線程502運行。主進程501可以根據應用程序對應的進程和/或線程和/或子窗口的ID,向應用程序對應的進程和/或線程502發(fā)送消息。例如,主進程發(fā)送消息的具體實現(xiàn)可以是以下兩種方式的任意一種或者組合:發(fā)送方式一:參見圖5,可以根據應用程序對應的進程和/或線程的ID,由主進程501經由進程間的緩存消息隊列直接向應用程序的進程和/或線程502發(fā)送消息;需要說明的是,應用程序對應的進程和/或線程的ID,在該進程和/或線程被創(chuàng)建時,由操作系統(tǒng)分配,可以在操作系統(tǒng)分配ID時,對該應用程序對應的進程和/或線程的ID進行記錄,例如,可以將該應用程序對應的進程和/或線程的ID與該應用程序對應的子窗口 ID,對應地記錄到子窗口信息503中;和/或者,發(fā)送方式二:參見圖6,可以根據應用程序對應的子窗口的ID,由主進程501向應用程序對應的子窗口的主窗口 504發(fā)送消息,消息中攜帶目標子窗口 ID、由主窗口 504自帶的窗口通信機制,根據消息攜帶的目標子窗口 ID經由主窗口與子窗口之間的緩存消息隊列向應用程序對應的子窗口發(fā)送消息,在消息到達子窗口時,由子窗口自帶的窗口通信機制將消息發(fā)送到在其中運行的應用程序對應的進程和/或線程502。同理,例如,主進程從應用程序對應的進程和/或線程接收消息,可以是以下兩種方式的任意一種或者組合:接收方式一:參見圖5,主進程501可以經由進程間的緩存消息隊列直接接收應用程序對應的進程和/或線程502發(fā)送的消息;和/或者,接收方式二:參見圖6,主進程501可以通過主窗口 504從應用程序對應的進程和/或線程502接收消息;在該接收方式中,應用程序對應的進程和/或線程502可以首先通過窗口自帶的窗口通信機制將消息經由子窗口與主窗口之間的緩存消息隊列發(fā)送到主窗口 504,再由主窗口 504發(fā)送到主進程501。
      上述消息交互過程的說明僅為本發(fā)明的可選實施方式,在實際應用中,還可以采用其他的多進程/線程通信機制方式,例如=Socket通信、LPC、共享內存加事件通知等方式??紤]到本發(fā)明主要對窗口及窗口畫面更新進行控制,交互需求往往都是窗口之間的消息交互,因此,采用上述發(fā)送、接收方式二,使所述消息通過主窗口與其中的子窗口之間的緩存消息隊列進行通信,不僅研發(fā)效率較高,而且通信效率也相對較高,為優(yōu)選實施方式。并且,還可以設置有超時參數,當所述消息傳輸時間超過所述超時參數時,根據預設發(fā)送規(guī)則,重新發(fā)送消息。其中,所述預設發(fā)送規(guī)則,可以根據實施需要進行設定,例如,預設發(fā)送規(guī)則可以為:預設可重新發(fā)送的消息類型,如果所述消息傳輸時間超過超時參數且符合可重新發(fā)送的消息類型,則重新發(fā)送所述消息,否則拒絕重新發(fā)送;或者,預設發(fā)送規(guī)則可以為:預設過度超時時長,如果所述消息傳輸時間超過超時參數,且未超出預設過度超時時長,則重新發(fā)送所述消息,否則拒絕重新發(fā)送;或者還可以有其他根據實施需要設定的預設發(fā)送規(guī)則,在本發(fā)明中并不進行限制。再具體地,例如可以采用SendMessageTimeout函數發(fā)送消息,通過設定該函數的超時參數來防止目標窗口未能響應消息而帶來的阻塞。當然,也可以使用其他函數發(fā)送消息,例如,傳統(tǒng)的SendMessage或者PostMessage等,在本發(fā)明中并不限制。考慮到窗口畫面更新對幀率、效率要求較高,不適于采取完全阻塞的交互機制,因此,采用SendMessageTimeout函數發(fā)送消息為優(yōu)選方式。而且,在所述消息為特定消息時,該特定消息可以通過主窗口與其中的子窗口之間的特定緩存消息隊列進行阻塞式通信。該特定緩存消息隊列的阻塞式通信,主要用于針對應用程序的某些特定功能,即必須在確定接收方通信操作完成才可結束該次通信的功能需求。在本發(fā)明中,所述消息的格式可以為與消息內容對應的特定格式;所述特定格式可以由消息頭標識;所述消息在接收后,可以根據消息頭標識,采用與消息頭標識對應的解析函數進行解析后,獲得消息內容。例如,所述消息可以為WM_C0PYDATA類型的數據包,可以在數據包上定義與消息內容對應的特定格式,由數據包的消息頭標識特定格式,進行功能的區(qū)分,通信雙方可以根據消息頭標識的特定格式進行解析。通過對消息的特定格式的預設,可以在接收端預先保存特定格式與解析函數的映射關系。在接收消息后,可以根據消息頭的標識將數據包分發(fā)到對應的解析函數進行處理??梢?,由消息頭標識特定格式,根據消息頭標識,采用與消息頭標識對應的解析函數進行解析獲得消息內容,不僅實現(xiàn)過程簡單高效,而且可擴展性很強。還需要說明的是,本文所述的包含標簽頁的窗口可以采取Win32提供的包含標簽頁的窗口實現(xiàn),也可以采取例如WebKit提供的包含標簽頁的窗口實現(xiàn),或者其他技術實現(xiàn),在本發(fā)明中并不進行限制。示例性裝置在介紹了本發(fā)明示例性實施方式的方法之后,接下來,參考圖7來描述本發(fā)明示例性實施方式的一種應用程序窗口的控制裝置。參見圖7,為本發(fā)明提供的一種應用程序窗口的控制裝置結構示意圖,如圖所示,該裝置可以包括:創(chuàng)建單元701:可以配置用于將運行的至少兩個應用程序的相應窗口以子窗口的形式掛接于同一主窗口的不同標簽頁中;監(jiān)測單元702:可以配置用于對所述主窗口的標簽切換操作進行監(jiān)測;執(zhí)行單元703:可以配置用于如果監(jiān)測到標簽切換操作,隱藏標簽切換操作前處于顯示狀態(tài)的子窗口,且停止該子窗口中運行的應用程序的窗口畫面更新操作;以及,顯示切換到的子窗口,且開啟該子窗口中運行的應用程序的窗口畫面更新操作。實施該裝置實施例,由于創(chuàng)建單元701將運行的至少兩個應用程序的相應窗口以子窗口的形式掛接于同一主窗口的不同標簽頁中,可以在當前時刻僅顯示正在被操作的應用程序的窗口,而且,監(jiān)測單元702可以用于監(jiān)測窗口切換操作,在監(jiān)測到窗口切換操作時,由執(zhí)行單元703停止隱藏的窗口中運行的應用程序的畫面更新操作、開啟顯示的窗口中運行的應用程序的畫面更新操作,對于用戶來說,由于其僅關注當前正在被操作的應用程序的窗口,不會感覺到對隱藏的窗口畫面更新操作停止的變化,因此,可以在不影響用戶運行多個應用程序的體驗的情況下,節(jié)省系統(tǒng)資源。下面,對本發(fā)明裝置的具體實現(xiàn)進行詳細說明:例如,該裝置的執(zhí)行單元703:具體可以配置用于從保存的子窗口信息中,查詢標簽切換操作前處于顯示狀態(tài)的子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID,該應用程序對應的進程和/或線程和/或子窗口為第一對象;根據該第一對象ID,向所述第一對象發(fā)送隱藏窗口且停止窗口畫面更新操作的消息,使切換操作前處于顯示狀態(tài)的子窗口中運行的應用程序對應的進程和/或線程根據該消息隱藏窗口且停止窗口畫面更新操作;從預先保存的子窗口信息中,查詢切換到的子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID,該應用程序對應的進程和/或線程和/或子窗口為第二對象;根據第二對象ID,向所述第二對象發(fā)送顯示窗口且開啟窗口畫面更新操作的消息,使切換到的子窗口中運行的應用程序對應的進程和/或線程根據該消息顯示窗口且開啟窗口畫面更新操作。再例如,該裝置的創(chuàng)建單元701:可以配置用于如果有應用程序運行的請求,判斷是否已存在包含標簽頁的主窗口 ;如果不存在,創(chuàng)建包含標簽頁的主窗口 ;執(zhí)行掛接步驟,包括:創(chuàng)建與該應用程序對應的進程和/或線程以運行該應用程序,向該應用程序對應的進程和/或線程發(fā)送設置該主窗口為父窗口的消息,使該應用程序對應的進程和/或線程根據消息設置該主窗口為父窗口,通過該設置使該應用程序的窗口以子窗口的形式掛接于該主窗口的空閑標簽頁中,并把該應用程序對應的進程和/或線程和/或子窗口的ID保存于子窗口信息中;判斷是否還有應用程序運行的請求,如果有,返回到執(zhí)行掛接步驟。具體地,其中所述創(chuàng)建單元701:可以配置用于在應用程序運行的請求并非由主窗口中的控件觸發(fā)時,進行是否已存在包含標簽頁的主窗口的判斷。例如,該裝置還可以包括:分離合并單元704:可以配置用于如果有針對某一子窗口的分離請求,根據針對該子窗口的分離請求,確定該子窗口所掛接的源主窗口、請求合并到的目標主窗口及該子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID ;判斷是否存在所述目標主窗口,如果不存在,創(chuàng)建包含標簽頁的目標主窗口 ;將該子窗口所掛接的標簽頁從所述源主窗口中刪除,同時,根據進程和/或線程和/或子窗口的ID,向該進程和/或線程發(fā)送設置目標主窗口為父窗口的消息,使該進程和/或線程根據該消息設置目標主窗口為父窗口,通過該設置使該應用程序的窗口以子窗口的形式掛接于該目標主窗口的空閑標簽頁中。和/或者,該裝置還可以包括:高亮顯示單元705:可以配置用于如果從所述應用程序對應的進程和/或線程接收到高亮提示的消息,確定該應用程序的窗口所掛接的主窗口 ;判斷該應用程序的窗口所掛接的主窗口是否處于激活狀態(tài);如果否,將該應用程序的窗口所掛接的主窗口設置為高亮顯示;判斷該應用程序的窗口所掛接的標簽頁是否處于激活狀態(tài);如果否,將該應用程序的窗口所掛接的標簽頁的標簽設置為高亮顯示。和/或者,該裝置還可以包括:窗口屬性設置單元706:可以配置用于如果從所述應用程序對應的進程和/或線程接收到窗口屬性變化的消息,確定該應用程序的窗口所掛接的主窗口 ;對該主窗口進行與所述窗口屬性變化對應的屬性設置。和/或者,該裝置還可以包括:用戶設置單元707:可以配置用于如果從所述應用程序對應的進程和/或線程接收到用戶設置的消息,確定該應用程序的窗口所掛接的主窗口 ;查找出該主窗口中的其他子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID ;根據該主窗口的其他子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID,向所述其他子窗口中運行的應用程序對應的進程和/或線程發(fā)送該用戶設置的消息,使所述其他子窗口中運行的應用程序對應的進程和/或線程根據該消息進行用戶設置。應當注意,盡管在上文詳細描述中提及了一種應用程序的窗口控制裝置的若干單元,但是這種劃分僅僅并非強制性的。實際上,根據本發(fā)明的實施方式,上文描述的兩個或更多單元的特征和功能可以在一個單元中具體化。反之,上文描述的一個單元的特征和功能可以進一步劃分為由多個單元來具體化。此外,盡管在附圖中以特定順序描述了本發(fā)明方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些操作,或是必須執(zhí)行全部所示的操作才能實現(xiàn)期望的結果。相反,流程圖中描繪的步驟可以改變執(zhí)行順序。附加地或備選地,可以省略某些步驟,將多個步驟合并為一個步驟執(zhí)行,和/或將一個步驟分解為多個步驟執(zhí)行。申請文件中提及的動詞“包括”、“包含”及其詞形變化的使用不排除除了申請文件中記載的那些元素或步驟之外的元素或步驟的存在。元素前的冠詞“一”或“一個”不排除多個這種元素的存在。雖然已經參考若干具體實施方式
      描述了本發(fā)明的精神和原理,但是應該理解,本發(fā)明并不限于所公開的具體實施方式
      ,對各方面的劃分也不意味著這些方面中的特征不能組合以進行受益,這種劃分僅是為了表述的方便。本發(fā)明旨在涵蓋所附權利要求的精神和范圍內所包括的各種修改和等同布置。所附權利要求的范圍符合最寬泛的解釋,從而包含所有這樣的修改及等同結構和功能。
      權利要求
      1.一種應用程序窗口的控制方法,包括: 將運行的至少兩個應用程序的相應窗口以子窗口的形式掛接于同一主窗口的不同標簽頁中; 對所述主窗口的標簽切換操作進行監(jiān)測; 如果監(jiān)測到標簽切換操作,隱藏標簽切換操作前處于顯示狀態(tài)的子窗口,且停止該子窗口中運行的應用程序的窗口畫面更新操作;以及, 顯示切換到的子窗口,且開啟該子窗口中運行的應用程序的窗口畫面更新操作。
      2.根據權利要求1所述的方法,其中,所述隱藏標簽切換操作前處于顯示狀態(tài)的子窗口,且停止該子窗口中運行的應用程序的窗口畫面更新操作包括: 從保存的子窗口信息中,查詢標簽切換操作前處于顯示狀態(tài)的子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID,該應用程序對應的進程和/或線程和/或子窗口為第一對象; 根據該第一對象ID,向所述第一對象發(fā)送隱藏窗口且停止窗口畫面更新操作的消息,使切換操作前處于顯示狀態(tài)的子窗口中運 行的應用程序對應的進程和/或線程根據該消息隱藏窗口且停止窗口畫面更新操作; 所述顯示切換到的子窗口,且開啟該子窗口中運行的應用程序的窗口畫面更新操作包 括: 從預先保存的子窗口信息中,查詢切換到的子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID,該應用程序對應的進程和/或線程和/或子窗口為第二對象; 根據第二對象ID,向所述第二對象發(fā)送顯示窗口且開啟窗口畫面更新操作的消息,使切換到的子窗口中運行的應用程序對應的進程和/或線程根據該消息顯示窗口且開啟窗口畫面更新操作。
      3.根據權利要求1所述的方法,其中,所述將運行的至少兩個應用程序的相應窗口以子窗口的形式掛接于同一主窗口的不同標簽頁中具體實現(xiàn)為: 如果有應用程序運行的請求,判斷是否已存在包含標簽頁的主窗口 ; 如果不存在,創(chuàng)建包含標簽頁的王窗口 ; 執(zhí)行掛接步驟,包括:創(chuàng)建與該應用程序對應的進程和/或線程以運行該應用程序,向該應用程序對應的進程和/或線程發(fā)送設置該主窗口為父窗口的消息,使該應用程序對應的進程和/或線程根據消息設置該主窗口為父窗口,通過該設置使該應用程序的窗口以子窗口的形式掛接于該主窗口的空閑標簽頁中,并把該應用程序對應的進程和/或線程和/或子窗口的ID保存于子窗口信息中; 判斷是否還有應用程序運行的請求,如果有,返回到執(zhí)行掛接步驟。
      4.根據權利要求3所述的方法,其中,所述判斷是否已存在包含標簽頁的主窗口具體在應用程序運行的請求并非由主窗口中的控件觸發(fā)時進行判斷。
      5.根據權利要求1所述的方法,還包括: 如果有針對某一子窗口的分離請求,根據針對該子窗口的分離請求,確定該子窗口所掛接的源主窗口、請求合并到的目標主窗口及該子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID; 判斷是否存在所述目標主窗口,如果不存在,創(chuàng)建包含標簽頁的目標主窗口 ;將該子窗口所掛接的標簽頁從所述源主窗口中刪除,同時,根據進程和/或線程和/或子窗口的ID,向該進程和/或線程發(fā)送設置目標主窗口為父窗口的消息,使該進程和/或線程根據該消息設置目標主窗口為父窗口,通過該設置使該應用程序的窗口以子窗口的形式掛接于該目標主窗口的空閑標簽頁中。
      6.根據權利要求1所述的方法,還包括: 如果從所述應用程序對應的進程和/或線程接收到高亮提示的消息,確定該應用程序的窗口所掛接的主窗口; 判斷該應用程序的窗口所掛接的主窗口是否處于激活狀態(tài); 如果否,將該應用程序的窗口所掛接的主窗口設置為高亮顯示; 判斷該應用程序的窗口所掛接的標簽頁是否處于激活狀態(tài); 如果否,將該應用程序的窗口所掛接的標簽頁的標簽設置為高亮顯示。
      7.根據權利要求1所述的方法,還包括: 如果從所述應用程序對應的進程和/或線程接收到窗口屬性變化的消息,確定該應用程序的窗口所掛接的主窗口; 對該主窗口進行與所述窗口屬性變化對應的屬性設置。
      8.根據權利要求1所述的方法,還包括: 如果從所述 應用程序對應的進程和/或線程接收到用戶設置的消息,確定該應用程序的窗口所掛接的主窗口; 查找出該主窗口中的其他子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的 ID ; 根據該主窗口中的其他子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID,向所述其他子窗口中運行的應用程序對應的進程和/或線程發(fā)送該用戶設置的消息,使所述其他子窗口中運行的應用程序對應的進程和/或線程根據該消息進行用戶設置。
      9.根據權利要求2-8任意一項所述的方法,其中,所述消息具體通過主窗口與其中的子窗口之間的緩存消息隊列進行通信; 還設置有超時參數,當所述消息傳輸時間超過所述超時參數時,根據預設發(fā)送規(guī)則,重新發(fā)送所述消息。
      10.根據權利要求9所述的方法,其中,所述消息為特定消息時,該特定消息具體通過主窗口與其中的子窗口之間的特定緩存消息隊列進行阻塞式通信。
      11.根據權利要求2-8任意一項所述的方法,其中,所述消息的格式具體為與消息內容對應的特定格式; 所述特定格式具體由消息頭標識; 所述消息在接收后,根據消息頭標識,采用與消息頭標識對應的解析函數進行解析后,獲得消息內容。
      12.—種應用程序窗口的控制裝置,包括: 創(chuàng)建單元:配置用于將運行的至少兩個應用程序的相應窗口以子窗口的形式掛接于同一主窗口的不同標簽頁中; 監(jiān)測單元:配置用于對所述主窗口的標簽切換操作進行監(jiān)測;執(zhí)行單元:配置用于如果監(jiān)測到標簽切換操作,隱藏標簽切換操作前處于顯示狀態(tài)的子窗口,且停止該子窗口中運行的應用程序的窗口畫面更新操作;以及,顯示切換到的子窗口,且開啟該子窗口中運行的應用程序的窗口畫面更新操作。
      13.根據權利要求12所述的裝置,其中,所述執(zhí)行單元:具體配置用于從保存的子窗口信息中,查詢標簽切換操作前處于顯示狀態(tài)的子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID,該應用程序對應的進程和/或線程和/或子窗口為第一對象;根據該第一對象ID,向所述第一對象發(fā)送隱藏窗口且停止窗口畫面更新操作的消息,使切換操作前處于顯示狀態(tài)的子窗口中運行的應用程序對應的進程和/或線程根據該消息隱藏窗口且停止窗口畫面更新操作;從預先保存的子窗口信息中,查詢切換到的子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID,該應用程序對應的進程和/或線程和/或子窗口為第二對象;根據第二對象ID,向所述第二對象發(fā)送顯示窗口且開啟窗口畫面更新操作的消息,使切換到的子窗口中運行的應用程序對應的進程和/或線程根據該消息顯示窗口且開啟窗口畫面更新操作。
      14.根據權利要求12所述的裝置,其中,所述創(chuàng)建單元:配置用于如果有應用程序運行的請求,判斷是否已存在包含標簽頁的主窗口 ;如果不存在,創(chuàng)建包含標簽頁的主窗口 ;執(zhí)行掛接步驟,包括:創(chuàng)建與該應用程序對應的進程和/或線程以運行該應用程序,向該應用程序對應的進程和/或線程發(fā)送設置該主窗口為父窗口的消息,使該應用程序對應的進程和/或線程根據消息設置該主窗口為父窗口,通過該設置使該應用程序的窗口以子窗口的形式掛接于該主窗口的空閑標簽頁中,并把該應用程序對應的進程和/或線程和/或子窗口的ID保存于子窗口信息中;判斷是否還有應用程序運行的請求,如果有,返回到執(zhí)行掛接步驟。
      15.根據權利要求14所述的裝置,其中,所述創(chuàng)建單元:配置用于在應用程序運行的請求并非由主窗口中的控件觸發(fā) 時,進行是否已存在包含標簽頁的主窗口的判斷。
      16.根據權利要求12所述的裝置,還包括: 分離合并單元:配置用于如果有針對某一子窗口的分離請求,根據針對該子窗口的分離請求,確定該子窗口所掛接的源主窗口、請求合并到的目標主窗口及該子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID ;判斷是否存在所述目標主窗口,如果不存在,創(chuàng)建包含標簽頁的目標主窗口 ;將該子窗口所掛接的標簽頁從所述源主窗口中刪除,同時,根據進程和/或線程和/或子窗口的ID,向該進程和/或線程發(fā)送設置目標主窗口為父窗口的消息,使該進程和/或線程根據該消息設置目標主窗口為父窗口,通過該設置使該應用程序的窗口以子窗口的形式掛接于該目標主窗口的空閑標簽頁中。
      17.根據權利要求12所述的裝置,還包括: 高亮顯示單元:配置用于如果從所述應用程序對應的進程和/或線程接收到高亮提示的消息,確定該應用程序的窗口所掛接的主窗口 ;判斷該應用程序的窗口所掛接的主窗口是否處于激活狀態(tài);如果否,將該應用程序的窗口所掛接的主窗口設置為高亮顯示;判斷該應用程序的窗口所掛接的標簽頁是否處于激活狀態(tài);如果否,將該應用程序的窗口所掛接的標簽頁的標簽設置為聞売顯不。
      18.根據權利要求12所述的裝置,還包括: 窗口屬性設置單元:配置用于如果從所述應用程序對應的進程和/或線程接收到窗口屬性變化的消息,確定該應用程序的窗口所掛接的主窗口 ;對該主窗口進行與所述窗口屬性變化對應的屬性設置。
      19.根據權利要求12所述的裝置,還包括: 用戶設置單元:配置用于如果從所述應用程序對應的進程和/或線程接收到用戶設置的消息,確定該應用程序的窗口所掛接的主窗口 ;查找出該主窗口中的其他子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID ;根據該主窗口的其他子窗口中運行的應用程序對應的進程和/或線程和/或子窗口的ID,向所述其他子窗口中運行的應用程序對應的進程和/或線程發(fā)送該用戶設置的消息,使所述其他子窗口中運行的應用程序對應的進程和/或線 程根據該消息進行用戶設置。
      全文摘要
      本發(fā)明的實施方式提供了一種應用程序窗口的控制方法。該方法包括將運行的至少兩個應用程序的相應窗口以子窗口的形式掛接于同一主窗口的不同標簽頁中;對所述主窗口的標簽切換操作進行監(jiān)測;如果監(jiān)測到標簽切換操作,隱藏標簽切換操作前處于顯示狀態(tài)的子窗口,且停止該子窗口中運行的應用程序的窗口畫面更新操作;以及,顯示切換到的子窗口,且開啟該子窗口中運行的應用程序的窗口畫面更新操作。通過在監(jiān)測到窗口切換操作時,停止隱藏的窗口中運行的應用程序的畫面更新操作、開啟顯示的窗口中運行的應用程序的畫面更新操作,達到了既不影響用戶體驗,又能夠節(jié)省系統(tǒng)資源的目的。此外,本發(fā)明的實施方式提供了一種應用程序窗口的控制裝置。
      文檔編號G06F3/0481GK103197842SQ201310131398
      公開日2013年7月10日 申請日期2013年4月15日 優(yōu)先權日2013年4月15日
      發(fā)明者吳國瑞, 王梅林, 吳海育 申請人:廣州博冠信息科技有限公司
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1