針對多個應用的進程的管理方法
【專利摘要】本發(fā)明提供了一種多進程管理方法與裝置,其中,多進程管理方法包括:當前進程接收到輸入的設定按鍵的指令,根據(jù)所述指令顯示或隱藏所述當前進程運行的窗口;所述當前進程根據(jù)所述指令通知其它進程,使所述其它進程顯示或隱藏所述其它進程運行的窗口;其中,所述當前進程和所述其它進程為滿足設定規(guī)則的多個應用的進程。通過本申請,有效提高了設定按鍵的功能,實現(xiàn)了多進程模式下的設定按鍵的統(tǒng)一控制和管理。
【專利說明】針對多個應用的進程的管理方法
[0001] 本發(fā)明專利申請是申請日為2012年3月15日、申請?zhí)枮?01210069316. 7、名稱為 "多進程管理方法與裝置"的中國發(fā)明專利申請的分案申請。
【技術領域】
[0002] 本申請涉及計算機【技術領域】,特別是涉及一種多進程管理的方法與裝置。
【背景技術】
[0003] 老板鍵是一種熱鍵或熱鍵組合,主要功能是能夠通過事先設定好的快捷鍵瞬間隱 藏掉多個事先設定的窗口。通過老板鍵能夠快速隱藏游戲或其他無關工作的程式,并讓顯 示器呈現(xiàn)正常工作時的畫面,藉以達到保護隱私的目的。
[0004] 目前,老板鍵的實現(xiàn)都是使用進程(如一個游戲進程)中的一個主窗口來注冊老 板鍵,其余窗口都是子窗口,主窗口收到消息后會通知子窗口,都是在一個進程模式的下實 現(xiàn)。當注冊老板鍵后,用戶按下老板鍵,Windows注冊窗口會收到WMJTOTKEY的消息,進而 顯示或隱藏相應的窗口。
[0005] 然而,目前的程序或應用中,老板鍵相互獨立。以兩個游戲A和B為例,游戲A和B 由同一個用戶在同一臺電腦上同時運行,如果使用游戲A的進程中的一個主窗口來注冊老 板鍵,那么該老板鍵將只對游戲A起作用,用戶按下老板鍵,可以使游戲A打開的窗口都關 閉。而如果此時,游戲B沒有注冊老板鍵,則游戲B的窗口將不會關閉。如果游戲B也注冊 了老板鍵,則游戲A和B的老板鍵可以相同也可以不同。在相同的情況下,用戶需要先按一 次老板鍵關閉當前的游戲A,然后,再次按下相同的老板鍵關閉游戲B。在不相同的情況下, 則用戶需要分別按下不同的老板鍵先后關閉不同的游戲??梢姡瑹o論老板鍵相同或不同,都 無法實現(xiàn)一個老板鍵關閉兩個游戲的窗口的功能。
[0006] 也就是說,現(xiàn)有的設定按鍵如老板鍵功能,無法實現(xiàn)不同應用的多進程之間的統(tǒng) 一控制和管理。
【發(fā)明內(nèi)容】
[0007] 本申請所要解決的技術問題是提供一種多進程管理方法與裝置,以解決現(xiàn)有的設 定按鍵如老板鍵功能,無法實現(xiàn)不同應用的多進程之間的統(tǒng)一控制和管理的問題。
[0008] 為了解決上述問題,本申請公開了一種多進程管理方法,包括:當前進程接收到輸 入的設定按鍵的指令,根據(jù)所述指令顯示或隱藏所述當前進程運行的窗口;所述當前進程 根據(jù)所述指令通知其它進程,使所述其它進程顯示或隱藏所述其它進程運行的窗口;其中, 所述當前進程和所述其它進程為滿足設定規(guī)則的多個應用的進程。
[0009] 優(yōu)選地,在所述當前進程接收到輸入的設定按鍵的指令的步驟之前,還包括:所述 多個應用的進程中的一個進程接收到設置指令;接收到所述設置指令的進程將所述設置指 令通知給除其自身之外的,所述多個應用的進程中的所有進程;其中,所述設置指令包括所 述設定按鍵的信息,所述設置指令用于指示接收到輸入的所述設定按鍵的指令的進程顯示 或隱藏其運行的窗口。
[0010] 優(yōu)選地,所述多個應用的進程中的每個進程中均設置有進程間通訊管理器,所述 進程間通訊管理器用于通過映射表保存和管理所述多個應用的進程的進程信息,所述進程 信息包括進程標識和主窗口句柄的信息。
[0011] 優(yōu)選地,在所述多個應用的進程中的一個進程接收到設置指令的步驟之前,還包 括:當所述多個應用的進程中有進程啟動時,新啟動的進程向已啟動的進程發(fā)送注冊消息; 所述已啟動的進程通過所述注冊消息獲取所述新啟動的進程的信息,并保存至所述已啟動 的進程的進程間通訊管理器中;所述已啟動的進程向所述新啟動的進程發(fā)送回應消息,所 述回應消息中攜帶有所述已啟動的進程的進程間通訊管理器中的進程信息;所述新啟動的 進程獲取所述已啟動的進程的進程間通訊管理器中的進程信息,并保存至所述新啟動的進 程的進程間通訊管理器中。
[0012] 優(yōu)選地,所述已啟動的進程為頂層窗口所在的進程;或者,所述已啟動的進程包括 多個,所述多個已啟動的進程中第一個接收到所述注冊消息的進程通過所述注冊消息獲取 所述新啟動的進程的信息,并向所述新啟動的進程發(fā)送回應消息。
[0013] 優(yōu)選地,所述當前進程根據(jù)所述指令通知其它進程的步驟包括:所述當前進程獲 取所述當前進程的進程間通訊管理器中保存的所述其它進程的進程信息;根據(jù)所述其它進 程的進程信息,將所述指令通知所述其它進程。
[0014] 優(yōu)選地,所述滿足設定規(guī)則的多個應用為同時使用同一瀏覽器運行的多個應用。
[0015] 優(yōu)選地,所述滿足設定規(guī)則的多個應用為在一個瀏覽器中使用游戲插件啟動的多 個游戲。
[0016] 為了解決上述問題,本申請還公開了一種多進程管理裝置,包括:第一接收模塊, 用于使當前進程接收到輸入的設定按鍵的指令,根據(jù)所述指令顯示或隱藏所述當前進程運 行的窗口;第一通知模塊,用于使所述當前進程根據(jù)所述指令通知其它進程,使所述其它進 程顯示或隱藏所述其它進程運行的窗口;其中,所述當前進程和所述其它進程為滿足設定 規(guī)則的多個應用的進程。
[0017] 優(yōu)選地,該多進程管理裝置還包括:第二接收模塊,用于在所述第一接收模塊使所 述當前進程接收到輸入的所述設定按鍵的指令之前,通過所述多個應用的進程中的一個進 程接收到設置指令;第二通知模塊,用于使接收到所述設置指令的進程將所述設置指令通 知給除其自身之外的,所述多個應用的進程中的所有進程;其中,所述設置指令包括所述設 定按鍵的信息,所述設置指令用于指示接收到輸入的所述設定按鍵的指令的進程顯示或隱 藏其運行的窗口。
[0018] 優(yōu)選地,所述多個應用的進程中的每個進程中均設置有進程間通訊管理器,所述 進程間通訊管理器用于通過映射表保存和管理所述多個應用的進程的進程信息,所述進程 信息包括進程標識和主窗口句柄的信息。
[0019] 優(yōu)選地,該多進程管理裝置還包括:注冊模塊,用于在所述第二接收模塊通過多個 應用的進程中的一個進程接收到設置指令之前,當所述多個應用的進程中有進程啟動時, 新啟動的進程向已啟動的進程發(fā)送注冊消息;第一獲取模塊,用于使所述已啟動的進程通 過所述注冊消息獲取所述新啟動的進程的信息,并保存至所述已啟動的進程的進程間通訊 管理器中;回復模塊,用于使所述已啟動的進程向所述新啟動的進程發(fā)送回應消息,所述回 應消息中攜帶有所述已啟動的進程的進程間通訊管理器中的進程信息;第二獲取模塊,用 于使所述新啟動的進程獲取所述已啟動的進程的進程間通訊管理器中的進程信息,并保存 至所述新啟動的進程的進程間通訊管理器中。
[0020] 優(yōu)選地,所述已啟動的進程為頂層窗口所在的進程;或者,所述已啟動的進程包括 多個,所述多個已啟動的進程中第一個接收到所述注冊消息的進程通過所述注冊消息獲取 所述新啟動的進程的信息,并向所述新啟動的進程發(fā)送回應消息。
[0021] 優(yōu)選地,所述第一通知模塊,用于使所述當前進程獲取所述當前進程的進程間通 訊管理器中保存的所述其它進程的進程信息;根據(jù)所述其它進程的進程信息,將所述指令 通知所述其它進程,使所述其它進程顯示或隱藏所述其它進程運行的窗口。
[0022] 優(yōu)選地,所述滿足設定規(guī)則的多個應用為同時使用同一瀏覽器運行的多個應用。
[0023] 優(yōu)選地,所述滿足設定規(guī)則的多個應用為在一個瀏覽器中使用游戲插件啟動的多 個游戲。
[0024] 與現(xiàn)有技術相比,本申請具有以下優(yōu)點:
[0025] 通過本申請,使?jié)M足一定規(guī)則的多個應用的不同進程之間相互關聯(lián)(如多個游戲 的進程之間相互關聯(lián)),當當前進程收到設定按鍵(如老板鍵)的指令時,不但顯示或隱藏 自身運行的窗口,還通知與其關聯(lián)的其它進程顯示或隱藏各自運行的窗口,以使多個應用 的窗口同時顯示或隱藏,從而解決了現(xiàn)有的設定按鍵功能,無法實現(xiàn)不同應用的多進程之 間的統(tǒng)一控制和管理的問題,有效提高了設定按鍵的功能,實現(xiàn)了多進程模式下的設定按 鍵的統(tǒng)一控制和管理。
【專利附圖】
【附圖說明】
[0026] 圖1是根據(jù)本申請實施例一的一種多進程管理方法的步驟流程圖;
[0027] 圖2是根據(jù)本申請實施例二的一種多進程管理方法的步驟流程圖;
[0028] 圖3是根據(jù)本申請實施例三的一種多進程管理方法的步驟流程圖;
[0029] 圖4是根據(jù)本申請實施例四的一種多進程管理裝置的結(jié)構(gòu)框圖。
【具體實施方式】
[0030] 為使本申請的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實 施方式對本申請作進一步詳細的說明。
[0031] 實施例一
[0032] 參照圖1,示出了根據(jù)本申請實施例一的一種多進程管理方法的步驟流程圖。
[0033] 本實施例的多進程管理方法包括以下步驟:
[0034] 步驟S102 :當前進程接收到輸入的設定按鍵的指令,根據(jù)所述指令顯示或隱藏當 前進程運行的窗口。
[0035] 步驟S104 :當前進程根據(jù)所述指令通知其它進程,使其它進程顯示或隱藏其它進 程運行的窗口。
[0036] 其中,當前進程和其它進程為滿足設定規(guī)則的多個應用的進程。設定規(guī)則可以由 本領域技術人員根據(jù)實際情況靈活設定,通常為多個相同類型的應用或者使用同一程序打 開的多個應用,如,設定為使用同一瀏覽器打開的應用,或者設定為使用同一插件打開的應 用,或者設定為應用類型相同(如均為游戲類或電子書類應用)的應用,或者設定為均能接 受老板鍵的多個瀏覽器等,本申請對此不作限制。
[0037] 優(yōu)選地,滿足設定規(guī)則的多個應用為同時使用同一瀏覽器運行的多個應用,如同 時在同一個瀏覽器中使用游戲插件打開的多個游戲。
[0038] 舉例來說,使用老板鍵功能統(tǒng)一控制和管理多個游戲窗口時,由于老板鍵功能是 一個內(nèi)置于游戲插件中的游戲輔助功能,而且游戲插件打開游戲后是以單獨的進程方式來 運行游戲的。因此,可以使多個游戲(滿足使用游戲插件打開的規(guī)則)的進程之間相互關 聯(lián),使用老板鍵管理和控制這些相互關聯(lián)的多個游戲的進程,實現(xiàn)多個游戲窗口的統(tǒng)一控 制和管理。其中,關聯(lián)形式可以有多種,如使用關聯(lián)表記錄多個進程之間的信息,根據(jù)關聯(lián) 表中的信息通知其它進程等,但不限于此,在實際應用中還可以使用其它任意適當形式,如 實時查找獲取相關進程的信息,根據(jù)實時獲取的信息通知相關進程等。
[0039] 本實施例中,當當前游戲進程接收到用戶按下的老板鍵的指令后,會顯示或隱藏 當前游戲進程運行的游戲窗口,同時,將接收到用戶按下老板鍵的消息通知給與其關聯(lián)的 其它進程,即,運行的其它游戲進程,以指示其它游戲進程關閉相應的游戲窗口。
[0040] 需要說明的是,以上僅為示例性說明,本領域技術人員應當明了,本實施例還可應 用于其它滿足設定規(guī)則的多個應用的場景,如電子書閱讀等,本申請對此不作限制。
[0041] 通過本實施例,使?jié)M足一定規(guī)則的多個應用的不同進程之間相互關聯(lián),當當前進 程收到設定按鍵的指令時,不但顯示或隱藏自身運行的窗口,還通知與其關聯(lián)的其它進程 顯示或隱藏各自運行的窗口,以使多個應用的窗口同時顯示或隱藏,從而解決了現(xiàn)有的老 板鍵功能,無法實現(xiàn)不同應用的多進程之間的統(tǒng)一控制和管理的問題,有效提高了老板鍵 的功能,實現(xiàn)了多進程模式下的老板鍵的統(tǒng)一控制和管理。當然,其它一鍵管理多應用或多 進程的場景均可參照本實施例進行。
[0042] 實施例二
[0043] 參照圖2,示出了根據(jù)本申請實施例二的一種多進程管理方法的步驟流程圖。
[0044] 本實施例中,以使用老板鍵控制和管理在一個瀏覽器的多個標簽頁中使用游戲插 件打開的多個游戲進程為例,對本申請的多進程管理方法進行說明,但不限于此,其它類似 使用熱鍵控制和管理多個應用進程的場景均可參照本實施例進行。
[0045] 本實施例中,老板鍵功能是一個內(nèi)置于游戲插件中的游戲輔助功能,可以一鍵隱 藏或開啟游戲窗口。使用游戲插件打開游戲后,游戲是以單獨的進程方式來運行游戲的, 這樣打開多個游戲就會有多個進程同時運行,所以需要有管理器來管理所有運行的游戲進 程。本實施例中,對游戲的管理采用星形的方式來管理運行的游戲進程,當使用游戲插件打 開的游戲進程有多個時,每個進程啟動后都會向頂層窗口發(fā)送注冊消息,除頂層窗口所在 的游戲進程外的,所有其他已打開的游戲進程收到后,會更新自己的IPC管理器(進程間通 訊管理器),并向發(fā)送消息的進程發(fā)送回應消息,并攜帶當前已有的進程,這樣所有的進程 都連接起來。當用戶在某一進程設置老板鍵后,該進程會調(diào)用API (應用程序接口)注冊老 板鍵,并同時發(fā)送其他進程告知當前用戶設置的老板鍵值。用戶按下老板鍵,注冊老板鍵的 進程會首先響應,該進程處理完后通知所有其他進程強制顯示或隱藏窗口。
[0046] 具體地,本實施例的多進程管理方法包括以下步驟:
[0047] 步驟S202 :當多個應用的進程中有進程啟動時,新啟動的進程向已啟動的進程發(fā) 送注冊消息。
[0048] 本實施例中,多個應用為使用游戲插件打開的多個游戲,已啟動的進程為已啟動 游戲的頂層窗口所在的進程。當使用游戲插件打開一個新的游戲時,該游戲的進程會向頂 層窗口的游戲進程發(fā)送注冊消息。當然,已啟動的進程也可能有多個,這時,新啟動的進程 可以向已啟動的多個進程發(fā)送注冊消息。
[0049] 步驟S204 :已啟動的進程通過注冊消息獲取新啟動的進程的信息,并保存至已啟 動的進程的進程間通訊管理器中。
[0050] 其中,多個應用的進程中的每個進程中均設置有進程間通訊管理器,進程間通訊 管理器用于保存和管理多個應用的進程的進程信息。通過進程間通訊管理器,可以快速獲 取進程信息,確定進程狀態(tài),提高多進程管理效率。
[0051] 本實施例中,頂層窗口的游戲進程獲取新游戲的進程信息,并保存至自己的進程 間通訊管理器中,若無其它游戲進程,則此時,頂層窗口的游戲進程中將保存有其自身及新 游戲進程的進程信息。
[0052] 如果已啟動的進程有多個,則最先收到新啟動的進程的注冊消息的進程獲取啟動 進程的進程信息,并將該信息保存至自己的進程間通訊管理器,同時通知其它已啟動的進 程更新本進程的進程間通訊管理器中的信息,以使各已啟動進程的進程間通訊管理器中的 信息同步。
[0053] 步驟S206 :已啟動的進程向新啟動的進程發(fā)送回應消息。
[0054] 其中,回應消息中攜帶有已啟動的進程的進程間通訊管理器中的進程信息。
[0055] 本實施例中,頂層窗口的游戲進程向新游戲進程發(fā)送回應消息,該回應消息中攜 帶有頂層窗口的游戲進程和新游戲進程的進程信息。
[0056] 如果已啟動的進程有多個,則最先收到新啟動的進程的注冊消息的進程向啟動進 程發(fā)送回應消息,其中攜帶有其自身的進程間通訊管理器中的進程信息,新啟動的進程收 到該消息后,獲取其中的進程信息保存至啟動進程的進程間通訊管理器中,從而實現(xiàn)了新 啟動的進程與其它已啟動的進程間的信息同步。通過最先收到注冊消息的進程通知其它進 程和發(fā)送回應消息,提高了消息處理效率,加快了窗口顯示或隱藏時間,提升了用戶體驗。
[0057] 當然,在實際應用中,不限于最先收到注冊消息的進程通知其它進程和發(fā)送回應 消息,本領域技術人員可以根據(jù)實際情況,采用其它適當策略決定注冊消息的接收和回應 模式,本申請對此不作限制。
[0058] 步驟S208 :新啟動的進程獲取已啟動的進程的進程間通訊管理器中的進程信息, 并保存至新啟動的進程的進程間通訊管理器中。
[0059] 本實施例中,新游戲進程獲取回應消息中攜帶的頂層窗口的游戲進程和新游戲進 程的進程信息,并保存至新游戲進程的進程間通訊管理器中。
[0060] 至此,多個應用的進程間建立相互關聯(lián),通過任意一個進程的進程間通訊管理器, 均可獲取多個應用的所有進程的進程信息。
[0061] 步驟S210 :多個應用的進程中的一個進程接收到設置指令。
[0062] 以老板鍵為例,用戶可以在多個應用的進程中的任意一個進行設置,設置指令中 包括設定按鍵的信息(如,設定按鍵都包括哪幾個按鍵的信息),設置指令用于指示接收到 輸入的設定按鍵的指令的進程顯示或隱藏其運行的窗口(如,當前進程收到用戶按下老板 鍵的指令,進行窗口的顯示或隱藏)。
[0063] 通過任意一個進程輸入設置指令,提高了多進程管理的兼容性,提升了用戶使用 體驗。
[0064] 步驟S212 :接收到設置指令的進程將設置指令通知給除其自身之外的,多個應用 的進程中的所有進程。
[0065] 一旦有進程接收到設置指令,說明用戶進行了按鍵設置(如,老板鍵設置),這時, 該進程會通知其它相關進程,告知其它進程用戶進行的按鍵設置,使按鍵設置對相關的所 有進程都起效。
[0066] 步驟S214 :當前進程接收到輸入的設定按鍵的指令,根據(jù)所述指令顯示或隱藏當 前進程運行的窗口。
[0067] 當用戶按下設定按鍵后,當前進程(如,當前運行的游戲進程)接收到指令,則將 當前進程運行的窗口顯示或隱藏。
[0068] 步驟S216 :當前進程獲取當前進程的進程間通訊管理器中保存的其它進程的進 程息。
[0069] 步驟S218 :當前進程根據(jù)其它進程的進程信息,將所述指令通知其它進程,使其 它進程顯示或隱藏其它進程運行的窗口。
[0070] 當前進程的進程間通訊管理器中保存有所有相關的進程的進程信息,用戶按下設 定按鍵時,當前進程不但顯示或隱藏自身運行的窗口,同時通知相關進程也進行相應窗口 的顯示或隱藏,從而實現(xiàn)設定按鍵對多個應用的統(tǒng)一管理或控制。
[0071] 本實施例以老板鍵為例,在本實施例中,老板鍵功能是一個內(nèi)置于游戲插件中的 游戲輔助功能,通過本實施例的老板鍵功能可以一鍵隱藏或開啟所有游戲窗口。本實施例 中,在一個進程中設置老板鍵,所有的網(wǎng)頁游戲進程或者Flash游戲進程都會收到老板鍵 進行隱藏窗口或者顯示窗口,從而實現(xiàn)了多進程模式下的老板鍵的統(tǒng)一控制。
[0072] 與現(xiàn)有老板鍵功能相比:(1)本實施例中,用戶設置一次老板鍵,對所有進程都有 效,減少了用戶設置的次數(shù),提高了用戶體驗;(2)已經(jīng)設置老板鍵的進程可以隨意退出, 其他進程依然可以隱藏或者顯示窗口,相比傳統(tǒng)的單進程設置老板鍵,本進程設置其它進 程不設置的情況,避免了單進程老板鍵退出后老板鍵功能即失效的問題,使老板鍵功能有 很大改進;(3)所有進程窗口中老板鍵的設置窗口可以使用統(tǒng)一的界面,而且各進程的進 程信息可以同步,這樣方便了用戶對老板鍵的設置。
[0073] 實施例三
[0074] 參照圖3,示出了根據(jù)本申請實施例三的一種多進程管理方法的步驟流程圖。
[0075] 本實施例的多進程管理方法包括以下步驟:
[0076] 步驟S302 :顯示老板鍵窗口,接收用戶進行老板鍵設置的指令。
[0077] 本步驟中,可以使用滿足設定規(guī)則的多個應用中的任意一個應用顯示老板鍵窗 口,供用戶進行設置。
[0078] 步驟S304 :注冊老板鍵。
[0079] 本步驟中,用戶在某一應用的進程設置老板鍵后,該進程會調(diào)用API注冊老板鍵, 并同時發(fā)送多個應用中的其他相關進程,告知當前用戶設置的老板鍵值。
[0080] 此外,在步驟S302之前,或者步驟S304之后,可能會有新的滿足設定規(guī)則的應用 的進程啟動,該進程啟動時,會向已啟動的進程發(fā)送注冊消息。當一個已啟動進程收到某個 進程發(fā)送來的注冊消息時,此消息攜帶了進程標識和主窗口句柄的信息,如,游戲ID、賬號 ID、創(chuàng)建的主窗口句柄等,收到注冊消息的進程會根據(jù)游戲ID和賬號ID組合(進程標識) 作為一個唯一的key保存到當前進程的IPC管理器中。優(yōu)選地,IPC管理器可以使用map表 (映射表)來保存和管理多個應用的進程的進程信息。
[0081] 當一個進程收到某個進程的注冊消息后,表明有新的進程啟動,但是新啟動的進 程此時并不知道目前已經(jīng)啟動了多少進程,所以哪個進程先收到新啟動進程的注冊消息 后,就會優(yōu)先回應此消息,順便攜帶了當前有多少個進程以及每個進程的具體信息,具體信 息也可以是如游戲ID、賬號ID、創(chuàng)建的主窗口句柄等進程標識和主窗口句柄的信息,這樣 保證了新啟動的進程知道了其他進程的信息供后續(xù)處理。其中,一個進程保存的其他進程 的進程信息可以通過map表來保存,進而可以通過內(nèi)存映射文件傳遞到其他進程。
[0082] 當多個應用的多個進程之間建立了聯(lián)系后,老板鍵的設置和注冊會被每個進程獲 知,以便后續(xù)老板鍵對多進程的統(tǒng)一控制和管理。
[0083] 步驟S306 :當前進程接收到用戶按下老板鍵的指令。
[0084] 步驟S308 :當前進程隱藏或顯示其運行的窗口。
[0085] 步驟S310 :當前進程將用戶按下老板鍵的指令以消息的形式通知給其他進程。
[0086] 當前進程在通知其他進程時,根據(jù)其自身保存的map表獲得其他進程的進程信 息,進而根據(jù)進程信息通知相關進程。
[0087] 步驟S312 :其他進程接收到當前進程發(fā)送的老板鍵消息。
[0088] 步驟S314 :其他進程隱藏或顯示相應的窗口。
[0089] 其他進程在收到當前進程發(fā)送的消息后,隱藏或顯示各自對應的窗口。
[0090] 通過本實施例,實現(xiàn)了在一個應用的進程中設置老板鍵,對多個應用的多個進程 進行統(tǒng)一控制和管理,解決了現(xiàn)有的老板鍵功能,無法實現(xiàn)不同應用的多進程之間的統(tǒng)一 控制和管理的問題,有效提高了老板鍵的功能,實現(xiàn)了多進程模式下的老板鍵的統(tǒng)一控制 和管理。
[0091] 實施例四
[0092] 參照圖4,示出了根據(jù)本申請實施例四的一種多進程管理裝置的結(jié)構(gòu)框圖。
[0093] 本實施例的多進程管理裝置包括:第一接收模塊402,用于使當前進程接收到輸 入的設定按鍵的指令,根據(jù)所述指令顯示或隱藏當前進程運行的窗口;第一通知模塊404, 用于使當前進程根據(jù)所述指令通知其它進程,使其它進程顯示或隱藏其它進程運行的窗 口;其中,當前進程和其它進程為滿足設定規(guī)則的多個應用的進程。
[0094] 優(yōu)選地,本實施例的多進程管理裝置還包括:第二接收模塊406,用于在第一接收 模塊402使當前進程接收到輸入的設定按鍵的指令之前,通過多個應用的進程中的一個進 程接收到設置指令;第二通知模塊408,用于使接收到設置指令的進程將設置指令通知給 除其自身之外的,多個應用的進程中的所有進程;其中,設置指令包括設定按鍵的信息,設 置指令用于指示接收到輸入的設定按鍵的指令的進程顯示或隱藏其運行的窗口。
[0095] 優(yōu)選地,多個應用的進程中的每個進程中均設置有進程間通訊管理器,進程間通 訊管理器用于保存和管理多個應用的進程的進程信息。
[0096] 優(yōu)選地,進程間通訊管理器通過映射表保存和管理多個應用的進程的進程信息。
[0097] 優(yōu)選地,進程信息包括進程標識和主窗口句柄的信息。
[0098] 優(yōu)選地,本實施例的多進程管理裝置還包括:注冊模塊410,用于在第二接收模塊 406通過多個應用的進程中的一個進程接收到設置指令之前,當多個應用的進程中有進程 啟動時,新啟動的進程向已啟動的進程發(fā)送注冊消息;第一獲取模塊412,用于使已啟動的 進程通過注冊消息獲取新啟動的進程的信息,并保存至已啟動的進程的進程間通訊管理器 中;回復模塊414,用于使已啟動的進程向新啟動的進程發(fā)送回應消息,回應消息中攜帶有 已啟動的進程的進程間通訊管理器中的進程信息;第二獲取模塊416,用于使新啟動的進 程獲取已啟動的進程的進程間通訊管理器中的進程信息,并保存至新啟動的進程的進程間 通訊管理器中。
[0099] 優(yōu)選地,已啟動的進程為頂層窗口所在的進程。
[0100] 優(yōu)選地,已啟動的進程包括多個;多個已啟動的進程中第一個接收到注冊消息的 進程通過注冊消息獲取新啟動的進程的信息,并向新啟動的進程發(fā)送回應消息。
[0101] 優(yōu)選地,第一通知模塊404,用于使當前進程獲取當前進程的進程間通訊管理器中 保存的其它進程的進程信息;根據(jù)其它進程的進程信息,將所述指令通知其它進程,使其它 進程顯示或隱藏其它進程運行的窗口。
[0102] 優(yōu)選地,滿足設定規(guī)則的多個應用為同時使用同一瀏覽器運行的多個應用。
[0103] 優(yōu)選地,滿足設定規(guī)則的多個應用為在一個瀏覽器中使用游戲插件啟動的多個游 戲。
[0104] 本實施例的多進程管理裝置用于實現(xiàn)前述多個方法實施例中相應的多進程管理 方法,并具有相應的方法實施例的有益效果,在此不再贅述。
[0105] 需要說明的是,本申請的多個實施例均以游戲為例,但不限于此,本申請的多進程 管理方案還可應用于其它類似場景,如同時打開多個支持老板鍵的瀏覽器,則在一個瀏覽 器中設置老板鍵即可對打開的多個瀏覽器同時起作用,一旦用戶按下老板鍵,這些瀏覽器 的窗口將被同時隱藏或顯示。或者,如同時打開了多個相同類型的程序,如WORD程序,則在 一個WORD程序中設置熱鍵,即可實現(xiàn)對多個打開的WORD文檔的打開或關閉??梢姡ㄟ^本 申請的多進程管理方案,有效提高了設定按鍵如老板鍵的功能,實現(xiàn)了多進程模式下的設 定按鍵的統(tǒng)一控制和管理。
[0106] 本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與 其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對于裝置實施例 而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部 分說明即可。
[0107] 以上對本申請所提供的一種多進程管理方法和裝置進行了詳細介紹,本文中應用 了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解 本申請的方法及其核心思想;同時,對于本領域的一般技術人員,依據(jù)本申請的思想,在具 體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應理解為對本申請 的限制。
【權(quán)利要求】
1. 一種針對多個應用的進程的管理方法,其包括: 為滿足設定規(guī)則的多個應用的進程建立關聯(lián)關系; 當當前進程接收到輸入的設定按鍵的指令時,根據(jù)所述指令顯示或隱藏所述當前進程 運行的窗口; 所述當前進程根據(jù)所述指令通知與所述當前進程有關聯(lián)關系的其它進程顯示或隱藏 所述其它進程運行的窗口。
2. 根據(jù)權(quán)利要求1所述的方法,其中,在所述當前進程接收到輸入的設定按鍵的指令 的步驟之前,還包括: 所述多個應用的進程中的一個進程接收到設置指令; 接收到所述設置指令的進程將所述設置指令通知給除其自身之外的,所述多個應用的 進程中的所有進程; 其中,所述設置指令包括所述設定按鍵的信息,所述設置指令用于指示接收到輸入的 所述設定按鍵的指令的進程顯示或隱藏其運行的窗口。
3. 根據(jù)權(quán)利要求2所述的方法,其中,所述多個應用的進程中的每個進程中均設置有 進程間通訊管理器,所述進程間通訊管理器用于通過映射表保存和管理所述多個應用的進 程的進程信息。
4. 根據(jù)權(quán)利要求3所述的方法,其中,為滿足設定規(guī)則的多個應用的進程建立關聯(lián)關 系進一步包括: 當所述多個應用的進程中有進程啟動時,新啟動的進程向已啟動的進程發(fā)送注冊消 息; 所述已啟動的進程通過所述注冊消息獲取所述新啟動的進程的信息,并保存至所述已 啟動的進程的進程間通訊管理器中; 所述已啟動的進程向所述新啟動的進程發(fā)送回應消息,所述回應消息中攜帶有所述已 啟動的進程的進程間通訊管理器中的進程信息; 所述新啟動的進程獲取所述已啟動的進程的進程間通訊管理器中的進程信息,并保存 至所述新啟動的進程的進程間通訊管理器中。
5. 根據(jù)權(quán)利要求4所述的方法,其中, 所述已啟動的進程為頂層窗口所在的進程; 或者, 所述已啟動的進程包括多個,所述多個已啟動的進程中第一個接收到所述注冊消息的 進程通過所述注冊消息獲取所述新啟動的進程的信息,并向所述新啟動的進程發(fā)送回應消 肩、。
6. 根據(jù)權(quán)利要求3所述的方法,其中,所述當前進程根據(jù)所述指令通知與所述當前進 程有關聯(lián)關系的其它進程的步驟包括: 所述當前進程獲取所述當前進程的進程間通訊管理器中保存的所述其它進程的進程 信息; 根據(jù)所述其它進程的進程信息,將所述指令通知所述其它進程。
7. 根據(jù)權(quán)利要求1至6任一項所述的方法,其中,所述滿足設定規(guī)則的多個應用為同時 使用同一瀏覽器運行的多個應用。
8. 根據(jù)權(quán)利要求1至6任一項所述的方法,其中,所述滿足設定規(guī)則的多個應用為在一 個瀏覽器中使用游戲插件啟動的多個游戲。
9. 一種針對多個應用的進程的管理方法,其包括: 為滿足設定規(guī)則的多個應用的進程中的每個進程建立進程間通訊管理器,所述進程間 通訊管理器用于通過映射表保存和管理所述多個應用的進程的進程信息; 當當前進程接收到輸入的設定按鍵的指令時,根據(jù)所述指令顯示或隱藏所述當前進程 運行的窗口; 所述當前進程根據(jù)所述指令通知其進程間通訊管理器中的其它進程顯示或隱藏所述 其它進程運行的窗口。
10. 根據(jù)權(quán)利要求9所述的方法,其中,在所述當前進程接收到輸入的設定按鍵的指令 的步驟之前,還包括: 所述多個應用的進程中的一個進程接收到設置指令; 接收到所述設置指令的進程將所述設置指令通知給除其自身之外的,所述多個應用的 進程中的所有進程; 其中,所述設置指令包括所述設定按鍵的信息,所述設置指令用于指示接收到輸入的 所述設定按鍵的指令的進程顯示或隱藏其運行的窗口。
11. 根據(jù)權(quán)利要求10所述的方法,其中,在所述多個應用的進程中的一個進程接收到 設置指令之前,還包括: 當所述多個應用的進程中有進程啟動時,新啟動的進程向已啟動的進程發(fā)送注冊消 息; 所述已啟動的進程通過所述注冊消息獲取所述新啟動的進程的信息,并保存至所述已 啟動的進程的進程間通訊管理器中; 所述已啟動的進程向所述新啟動的進程發(fā)送回應消息,所述回應消息中攜帶有所述已 啟動的進程的進程間通訊管理器中的進程信息; 所述新啟動的進程獲取所述已啟動的進程的進程間通訊管理器中的進程信息,并保存 至所述新啟動的進程的進程間通訊管理器中。
12. 根據(jù)權(quán)利要求11所述的方法,其中, 所述已啟動的進程為頂層窗口所在的進程; 或者, 所述已啟動的進程包括多個,所述多個已啟動的進程中第一個接收到所述注冊消息的 進程通過所述注冊消息獲取所述新啟動的進程的信息,并向所述新啟動的進程發(fā)送回應消 肩、。
13. 根據(jù)權(quán)利要求3所述的方法,其中,所述當前進程根據(jù)所述指令通知其進程間通訊 管理器中的其它進程顯示或隱藏所述其它進程運行的窗口進一步包括 : 所述當前進程獲取所述當前進程的進程間通訊管理器中保存的所述其它進程的進程 信息; 根據(jù)所述其它進程的進程信息,將所述指令通知所述其它進程。
14. 根據(jù)權(quán)利要求9至13任一項所述的方法,其中,所述滿足設定規(guī)則的多個應用為同 時使用同一瀏覽器運行的多個應用。
15.根據(jù)權(quán)利要求9至13任一項所述的方法,其中,所述滿足設定規(guī)則的多個應用為在 一個瀏覽器中使用游戲插件啟動的多個游戲。
【文檔編號】G06F9/44GK104063218SQ201410271101
【公開日】2014年9月24日 申請日期:2012年3月15日 優(yōu)先權(quán)日:2012年3月15日
【發(fā)明者】趙肖勇, 左文平, 張菊元 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司