一種窗口的顯示方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種窗口的顯示方法和裝置,涉及瀏覽器【技術(shù)領(lǐng)域】。所述方法包括:判斷出對當(dāng)前網(wǎng)頁中的視頻播放插件的全屏顯示操作,在一全屏的置頂顯示的第一瀏覽器子窗口中加載所述視頻播放插件;獲取瀏覽器中的各瀏覽器窗口和/或當(dāng)前操作系統(tǒng)桌面上的各窗口的窗口屬性信息;判斷所述各獲取到的窗口的屬性是否為將其置于第一瀏覽器子窗口之前;如果是,則將其屬性修改為置于第一瀏覽器子窗口之后進(jìn)行顯示。本發(fā)明取得了使視頻播放插件進(jìn)行全屏播放時可以完全以整個顯示屏幕為單位進(jìn)行播放,不受其他窗口內(nèi)容干擾的有益效果。
【專利說明】—種窗口的顯示方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及瀏覽器【技術(shù)領(lǐng)域】,具體涉及一種窗口的顯示方法和裝置。
【背景技術(shù)】
[0002]網(wǎng)頁瀏覽器是個顯示網(wǎng)站服務(wù)器或文件系統(tǒng)內(nèi)的文件,并讓用戶與此些文件交互的一種應(yīng)用軟件。它用來顯示在萬維網(wǎng)或局域網(wǎng)等內(nèi)的文字、圖像及其他信息。這些文字或圖像,可以是連接其他網(wǎng)址的超鏈接,用戶可迅速及輕易地瀏覽各種信息。大部分網(wǎng)頁為HTML格式,有些網(wǎng)頁需特定瀏覽器才能正確顯示。個人電腦上常見的網(wǎng)頁瀏覽器按照2010年I月的市場占有率依次是微軟的Internet Explorer、Mozilla的Firefox、Google的Chrome、蘋果公司的Safari和Opera軟件公司的Opera。瀏覽器是最常用的客戶端程序。萬維網(wǎng)是全球最大的鏈接文件網(wǎng)絡(luò)文庫。
[0003]現(xiàn)有的瀏覽器均可以使用視頻播放插件,比如flash插件,但是現(xiàn)有技術(shù)中,由于窗口本身的層次問題,當(dāng)用戶用視頻播放插件全屏播放視頻時,其他窗口可能會顯示到該播放視頻的窗口之前,遮擋掉很多視頻信息,影響用戶對視頻的瀏覽;并且還可能由于瀏覽器框架窗口等窗口的頂層設(shè)計(jì)問題,視頻播放插件進(jìn)行全屏播放時,并不是真正意義上的全屏播放,還是只能在某相對大的范圍內(nèi)播放視頻,不能讓用戶獲得真正意義上的全屏化視角,影響視頻播放質(zhì)量。
【發(fā)明內(nèi)容】
[0004]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的窗口的顯示裝置和相應(yīng)的窗口的顯示方法。
[0005]依據(jù)本發(fā)明的一個方面,提供了一種窗口的顯示方法,包括:
[0006]判斷出對當(dāng)前網(wǎng)頁中的視頻播放插件的全屏顯示操作,在一全屏的置頂顯示的第一瀏覽器子窗口中加載所述視頻播放插件;
[0007]獲取瀏覽器中的各瀏覽器窗口和/或當(dāng)前操作系統(tǒng)桌面上的各窗口的窗口屬性信息;
[0008]判斷所述各獲取到的窗口的屬性是否為將其置于第一瀏覽器子窗口之前;
[0009]如果是,則將其屬性修改為置于第一瀏覽器子窗口之后進(jìn)行顯示。
[0010]可選地,在判斷對當(dāng)前網(wǎng)頁中的視頻播放插件的全屏顯示操時作包括:
[0011]當(dāng)所述視頻播放插件的類型為ppfalsh插件時,通過插件監(jiān)控服務(wù),監(jiān)聽并接收PPfalsh插件的全屏設(shè)置方法,以判斷是否有對當(dāng)前網(wǎng)頁中的ppfalsh插件的全屏顯示操作。
[0012]可選地,還包括:
[0013]在瀏覽器啟動后創(chuàng)建插件監(jiān)控服務(wù),通過所述插件監(jiān)控服務(wù)監(jiān)聽ppfalsh插件的插件全屏設(shè)置方法。
[0014]可選地,所述判斷出對當(dāng)前網(wǎng)頁中的視頻播放插件的全屏顯示操作包括:[0015]當(dāng)插件監(jiān)控服務(wù)接收到從ppfalsh插件發(fā)送的消息,則判斷出對當(dāng)前網(wǎng)頁中的ppfalsh插件的全屏顯示操作。
[0016]可選地,判斷對當(dāng)前網(wǎng)頁中的視頻播放插件的全屏顯示操作包括:
[0017]當(dāng)所述視頻播放插件的類型為npfalsh插件時,鉤取設(shè)置窗口屬性API函數(shù),并通過監(jiān)控所述函數(shù)參數(shù)判斷是否有對當(dāng)前網(wǎng)頁中的npfalsh插件的全屏顯示操作。
[0018]可選地,所述當(dāng)所述視頻播放插件的類型為npfalsh插件時,鉤取設(shè)置窗口屬性API函數(shù),并通過監(jiān)控所述函數(shù)參數(shù)判斷是否有對當(dāng)前網(wǎng)頁中的npfalsh插件的全屏顯示操作包括:
[0019]通過Detour工具鉤取當(dāng)前頁面進(jìn)程對user32.dll中設(shè)置窗口屬性API函數(shù)的調(diào)用;
[0020]當(dāng)檢測到設(shè)置窗口屬性API函數(shù)的參數(shù)中的窗口類名參數(shù)的值為設(shè)置Flash全屏的值時,通過分析設(shè)置窗口屬性API函數(shù)的參數(shù)中的指定替換值參數(shù)的值判斷是否有對當(dāng)前網(wǎng)頁中的npfalsh插件的全屏顯示操作。
[0021]可選地,所述設(shè)置Flash全屏的值通過調(diào)用窗口類名獲取API獲得。
[0022]可選地,判斷對當(dāng)前網(wǎng)頁中的視頻播放插件的全屏顯示操作之前,還包括:
[0023]判斷所述視頻播放插件的類型,根據(jù)所述視頻播放插件的類型判斷判斷所述是否有對當(dāng)前網(wǎng)頁中的視頻播放插件的全屏顯示操作;所述插件類型包括PPfalsh插件、npfalsh 插件。
[0024]可選地,獲取瀏覽器中的各瀏覽器窗口和/或當(dāng)前操作系統(tǒng)桌面上的各窗口的窗口屬性信息包括:
[0025]當(dāng)插件監(jiān)控服務(wù)接收到從ppfalsh插件發(fā)送的全屏顯示操作的消息后,將所述消息轉(zhuǎn)發(fā)給瀏覽器主進(jìn)程,由瀏覽器主進(jìn)程通過窗口清單枚舉所有的瀏覽窗口。
[0026]可選地,所述將其屬性修改為置于第一瀏覽器子窗口之后包括:
[0027]調(diào)用設(shè)置窗口屬性API函數(shù)將所述窗口的屬性改為置于第一瀏覽器子窗口之后。
[0028]可選地,還包括:
[0029]更新各瀏覽器窗口或者桌面上各窗口的屬性為置于第一瀏覽器子窗口之后。
[0030]可選地,所述獲取瀏覽器中的各瀏覽器窗口和/或當(dāng)前操作系統(tǒng)桌面上的各窗口的窗口屬性信息包括:
[0031]當(dāng)主進(jìn)程接收到判斷對所述npfalsh插件的全屏顯示操作的消息后,通過調(diào)用桌面窗口獲取API函數(shù),以枚舉桌面窗口下的所有窗口。
[0032]可選地,所述將其屬性修改為置于第一瀏覽器子窗口之后包括:
[0033]直接調(diào)用設(shè)置窗口屬性API函數(shù)將所述窗口的屬性改為第一瀏覽器子窗口之后。
[0034]依據(jù)本發(fā)明的另外一個方面本發(fā)明還公開了一種窗口的顯示裝置,包括:
[0035]全屏判斷模塊,適于判斷出對當(dāng)前網(wǎng)頁中的視頻播放插件的全屏顯示操作,在一全屏的置頂顯示的第一瀏覽器子窗口中加載所述視頻播放插件;
[0036]窗口獲取模塊,適于獲取瀏覽器中的各瀏覽器窗口和/或當(dāng)前操作系統(tǒng)桌面上的各窗口的窗口屬性信息;
[0037]屬性更改模塊,適于判斷所述各獲取到的窗口的屬性是否為將其置于第一瀏覽器子窗口之前;如果是,則將其屬性修改為置于第一瀏覽器子窗口之后進(jìn)行顯示。[0038]可選地,所述全屏判斷模塊包括:
[0039]第一全屏判斷模塊,適于在判斷當(dāng)前網(wǎng)頁中的ppfalsh插件的全屏顯示操作時,當(dāng)所述視頻播放插件的類型為ppfalsh插件時,通過插件監(jiān)控服務(wù),監(jiān)聽并接收ppfalsh插件的全屏設(shè)置方法,以判斷是否有對當(dāng)前網(wǎng)頁中的ppfalsh插件的全屏顯示操作。
[0040]可選地,還包括:
[0041]監(jiān)控模塊,適于在瀏覽器啟動后創(chuàng)建插件監(jiān)控服務(wù),通過所述插件監(jiān)控服務(wù)監(jiān)聽ppfalsh插件的插件全屏設(shè)置方法。
[0042]可選地,所述第一全屏判斷模塊包括:
[0043]確認(rèn)模塊,適于當(dāng)插件監(jiān)控服務(wù)接收到從ppf al sh插件發(fā)送的消息,則判斷出對當(dāng)前網(wǎng)頁中的ppfalsh插件的全屏顯示操作。
[0044]可選地,所述全屏判斷模塊包括:
[0045]第二全屏判斷模塊,適于當(dāng)所述視頻播放插件的類型為npfalsh插件時,鉤取設(shè)置窗口屬性API函數(shù),并通過監(jiān)控所述函數(shù)參數(shù)判斷是否有對當(dāng)前網(wǎng)頁中的npfalsh插件的全屏顯示操作。
[0046]可選地,所述第二全屏判斷模塊包括:
[0047]鉤取模塊,適于通過Detour工具鉤取當(dāng)前頁面進(jìn)程對user32.dll中設(shè)置窗口屬性API函數(shù)的調(diào)用;
[0048]檢測判斷模塊,適于當(dāng)檢測到設(shè)置窗口屬性API函數(shù)的參數(shù)中的窗口類名參數(shù)的值為設(shè)置Flash全屏的值時,通過分析設(shè)置窗口屬性API函數(shù)的參數(shù)中的指定替換值參數(shù)的值判斷是否有對當(dāng)前網(wǎng)頁中的npfalsh插件的全屏顯示操作。
[0049]可選地,所述檢測判斷模塊包括:
[0050]窗口類獲取模塊,適于所述設(shè)置Flash全屏的值通過調(diào)用窗口類名獲取API獲得。
[0051]可選地,在所全屏判斷模塊之前,還包括:
[0052]類型判斷模塊,適于判斷所述視頻播放插件的類型,根據(jù)所述視頻播放插件的類型判斷判斷所述是否有對當(dāng)前網(wǎng)頁中的視頻播放插件的全屏顯示操作;所述插件類型包括ppfalsh 插件、npfalsh 插件。
[0053]可選地,所述窗口獲取模塊包括:
[0054]第一窗口獲取模塊,適于當(dāng)插件監(jiān)控服務(wù)接收到從ppfalsh插件發(fā)送的全屏顯示操作的消息后,將所述消息轉(zhuǎn)發(fā)給瀏覽器主進(jìn)程,由瀏覽器主進(jìn)程通過窗口清單枚舉所有的瀏覽窗口。
[0055]可選地,所述屬性更改模塊包括:
[0056]第一屬性更改模塊,適于判斷所述各獲取到的窗口的屬性是將其置于第一瀏覽器子窗口之前以后,調(diào)用設(shè)置窗口屬性API函數(shù)將所述窗口的屬性改為置于第一瀏覽器子窗口之后。
[0057]可選地,還包括:
[0058]屬性更新模塊,適于更新各瀏覽器窗口或者桌面上各窗口的屬性為置于第一瀏覽器子窗口之后。
[0059]可選地,所述窗口獲取模塊包括:
[0060]第二窗口獲取模塊,適于當(dāng)主進(jìn)程接收到判斷對所述npfalsh插件的全屏顯示操作的消息后,通過調(diào)用桌面窗口獲取API函數(shù),以枚舉桌面窗口下的所有窗口。
[0061]可選地,所述屬性更改模塊包括:
[0062]第二屬性更改模塊,適于判斷所述各獲取到的窗口的屬性是將其置于第一瀏覽器子窗口之前以后,直接調(diào)用設(shè)置窗口屬性API函數(shù)將所述窗口的屬性改為第一瀏覽器子窗口之后。
[0063]根據(jù)本發(fā)明的窗口的顯示方法可以在瀏覽器中判斷出用戶對視頻播放插件使用時執(zhí)行的全屏操作時,在一全屏的置頂顯示的第一瀏覽器子窗口中加載所述視頻播放插件,然后控制其他所有窗口均在該第一瀏覽器子窗口之后,由此解決了視頻播放插件無法真正全屏顯示,并且容易被其他窗口內(nèi)容干擾的問題,取得了使視頻播放插件進(jìn)行全屏播放時可以完全以整個顯示屏幕為單位進(jìn)行播放,不受其他窗口內(nèi)容干擾的有益效果。
[0064]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。
【專利附圖】
【附圖說明】
[0065]通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0066]圖1示出了根據(jù)本發(fā)明一個實(shí)施例的一種窗口的顯示方法的流程示意圖;
[0067]圖2示出了根據(jù)本發(fā)明一個實(shí)施例的一種窗口的顯示方法的流程示意圖;
[0068]圖3示出了根據(jù)本發(fā)明一個實(shí)施例的一種窗口的顯示方法的流程示意圖;
[0069]圖4示出了根據(jù)本發(fā)明一個實(shí)施例的一種窗口的顯示方法的流程示意圖;
[0070]圖4A示出了現(xiàn)有技術(shù)的雙核瀏覽器使用flash插件的示意圖;
[0071]圖4B示出了現(xiàn)有技術(shù)的flash插件的小窗口顯示示例;
[0072]圖5示出了根據(jù)本發(fā)明一個實(shí)施例的一種窗口的顯示裝置的結(jié)構(gòu)示意圖;
[0073]圖6示出了根據(jù)本發(fā)明一個實(shí)施例的一種窗口的顯示裝置的結(jié)構(gòu)示意圖;
[0074]圖7示出了根據(jù)本發(fā)明一個實(shí)施例的一種窗口的顯示裝置的結(jié)構(gòu)示意圖;
[0075]圖8示出了根據(jù)本發(fā)明一個實(shí)施例的一種窗口的顯示裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0076]下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0077]實(shí)施例一
[0078]參照圖1,其示出了本發(fā)明一種窗口的顯示方法的流程示意圖,具體可以包括:
[0079]步驟102,判斷出對當(dāng)前網(wǎng)頁中的視頻播放插件的全屏顯示操作,在一全屏的置頂顯示的第一瀏覽器子窗口中加載所述視頻播放插件;
[0080]在本發(fā)明實(shí)施例中,當(dāng)用戶在瀏覽器中用視頻播放插件播放視頻時,可點(diǎn)擊播放窗口中將視頻進(jìn)行全屏的按鈕,那么本發(fā)明實(shí)施例則監(jiān)控對瀏覽器當(dāng)前網(wǎng)頁中的視頻播放插件的全屏顯示操作,如果監(jiān)控到所述的全屏顯示操作,則在一全屏的置頂顯示的第一瀏覽器子窗口中加載所述視頻播放插件。
[0081]步驟104,獲取瀏覽器中的各瀏覽器窗口和/或當(dāng)前操作系統(tǒng)桌面上的各窗口的窗口屬性信息;
[0082]本發(fā)明可在一全屏的置頂顯示的第一瀏覽器子窗口中加載所述視頻播放插件的時候,也會獲取瀏覽器中的各瀏覽器窗口,和/或當(dāng)前操作系統(tǒng)桌面上的各窗口的窗口屬性信息,以進(jìn)行步驟106的判斷。
[0083]步驟106,判斷所述各獲取到的窗口的屬性是否為將其置于第一瀏覽器子窗口之前;如果各窗口的屬性是否為將其置于第一瀏覽器子窗口之前,則進(jìn)入步驟108 ;
[0084]當(dāng)判斷某個窗口的屬性信息是其置于第一瀏覽器子窗口之前,即也是HWND_TOPMOST屬性,那么進(jìn)入步驟108去更改窗口屬性。如果某個窗口的屬性信息是其置于第一瀏覽器子窗口之后,即是HWND_N0T0PM0ST屬性,則不用處理這個窗口。
[0085]步驟108,將其屬性修改為置于第一瀏覽器子窗口之后進(jìn)行顯示。
[0086]即將該窗口的屬性 HWND_T0PM0ST 修改為 HWND_N0T0PM0ST。
[0087]根據(jù)本發(fā)明的窗口的顯示方法可以在瀏覽器中判斷出用戶對視頻播放插件使用時執(zhí)行的全屏操作時,在一全屏的置頂顯示的第一瀏覽器子窗口中加載所述視頻播放插件,然后控制其他所有窗口均在該第一瀏覽器子窗口之后,由此解決了視頻播放插件無法真正全屏顯示,并且容易被其他窗口內(nèi)容干擾的問題,取得了使視頻播放插件進(jìn)行全屏播放時可以完全以整個顯示屏幕為單位進(jìn)行播放,不受其他窗口內(nèi)容干擾的有益效果。
[0088]實(shí)施例二
[0089]參照圖2,其示出了本發(fā)明一種窗口的顯示方法的流程示意圖,具體可以包括:
[0090]步驟202,在判斷當(dāng)前網(wǎng)頁中的ppfalsh插件的全屏顯示操作時,當(dāng)所述視頻播放插件的類型為ppfalsh插件時,通過插件監(jiān)控服務(wù),監(jiān)聽并接收ppfalsh插件的全屏設(shè)置方法,以判斷是否有對當(dāng)前網(wǎng)頁中的ppfalsh插件的全屏顯示操作;
[0091]在本發(fā)明實(shí)施例中,用戶使用的瀏覽器可能使用的是ppflash插件,那么本發(fā)明可以通過插件監(jiān)控服務(wù)(PpapiHost服務(wù)),監(jiān)聽并接收ppfalsh插件的全屏設(shè)置方法(FlashFulIscreenResource:: SetFullscreen中的方法),以判斷是否有對當(dāng)前網(wǎng)頁中的ppfalsh插件的全屏顯示操作。
[0092]可選地,包括:
[0093]步驟200,在瀏覽器啟動后創(chuàng)建插件監(jiān)控服務(wù),通過所述插件監(jiān)控服務(wù)監(jiān)聽ppfalsh插件的插件全屏設(shè)置方法。
[0094]即本發(fā)明實(shí)施例中,在瀏覽器啟動后,倉Il建PpapiHost服務(wù),當(dāng)ppflash插件收到全屏顯示操作的指令后會向PpapiHost服務(wù)發(fā)送消息;如果ppflash插件沒向ppflash插件發(fā)送消息,則表明ppflash插件不需要進(jìn)行全屏顯示操作。
[0095]步驟204,當(dāng)插件監(jiān)控服務(wù)接收到從ppfalsh插件發(fā)送的消息,則判斷出對當(dāng)前網(wǎng)頁中的ppfalsh插件的全屏顯示操作,在一全屏的置頂顯示的第一瀏覽器子窗口中加載所述視頻播放插件;
[0096]在本發(fā)明實(shí)施例 中,用戶點(diǎn)擊對飄飄flash插件的全屏顯示操作后,ppfalsh插件會向PpapiHost服務(wù)發(fā)送消息,其他情況則不會向PpapiHost服務(wù)發(fā)送消息,那么當(dāng)PpapiHost服務(wù)接收到ppfalsh插件發(fā)送的消息,則表明對當(dāng)前網(wǎng)頁中的ppfalsh插件有全
屏顯示操作。
[0097]步驟206,當(dāng)插件監(jiān)控服務(wù)接收到從ppfalsh插件發(fā)送的全屏顯示操作的消息后,將所述消息轉(zhuǎn)發(fā)給瀏覽器主進(jìn)程,由瀏覽器主進(jìn)程通過窗口清單枚舉所有的瀏覽窗口 ;
[0098]當(dāng)ppapihost接受到ppfalsh插件發(fā)送消息之后,轉(zhuǎn)發(fā)消息給主進(jìn)程,主進(jìn)程收到消息之后,主進(jìn)程通過BrowserList枚舉所有的browser (瀏覽器的各窗口)。
[0099]步驟208,判斷所述各獲取到的窗口的屬性是否為將其置于第一瀏覽器子窗口之
前 ;
[0100]步驟210,如果是,則將其屬性修改為置于第一瀏覽器子窗口之后進(jìn)行顯示。
[0101]在本發(fā)明實(shí)施例中檢查各browser的屬性是否為置于第一瀏覽器子窗口之前,也即檢查browser是否具有HWND_T0PM0ST屬性,如果瀏覽器中的browser中的窗口具有HWND_T0PM0ST屬性,則將其屬性修改為置于第一瀏覽器子窗口之后,即修改為HWND_N0T0PM0ST。
[0102]可選地,所述將其屬性修改為置于第一瀏覽器子窗口之后包括:
[0103]步驟211,調(diào)用設(shè)置窗口屬性API函數(shù)將所述窗口的屬性改為置于第一瀏覽器子窗口之后。
[0104]通過SetWindowLongW的windowsapi調(diào)用(也即對設(shè)置窗口屬性API函數(shù)的調(diào)用),將窗口的 HWND_T0PM0ST 屬性更改為 HWND_N0T0PM0ST。
[0105]可選地,還包括:
[0106]步驟212,更新各瀏覽器窗口或者桌面上各窗口的屬性為置于第一瀏覽器子窗口之后。
[0107]將窗口的屬性更改后,還需要進(jìn)行對窗口的屬性進(jìn)行更新,在本發(fā)明實(shí)施例中調(diào)用,最后調(diào)用
[0108]
【權(quán)利要求】
1.一種窗口的顯不方法,包括: 判斷出對當(dāng)前網(wǎng)頁中的視頻播放插件的全屏顯示操作,在一全屏的置頂顯示的第一瀏覽器子窗口中加載所述視頻播放插件; 獲取瀏覽器中的各瀏覽器窗口和/或當(dāng)前操作系統(tǒng)桌面上的各窗口的窗口屬性信息; 判斷所述各獲取到的窗口的屬性是否為將其置于第一瀏覽器子窗口之前; 如果是,則將其屬性修改為置于第一瀏覽器子窗口之后進(jìn)行顯示。
2.如權(quán)利要求1所述的方法,其特征在于,在判斷對當(dāng)前網(wǎng)頁中的視頻播放插件的全屏顯示操時作包括: 當(dāng)所述視頻播放插件的類型為PPfalsh插件時,通過插件監(jiān)控服務(wù),監(jiān)聽并接收PPfalsh插件的全屏設(shè)置方法,以判斷是否有對當(dāng)前網(wǎng)頁中的ppfalsh插件的全屏顯示操作。
3.如權(quán)利要求2所述的方法,其特征在于,還包括: 在瀏覽器啟動后創(chuàng)建插件監(jiān)控服務(wù),通過所述插件監(jiān)控服務(wù)監(jiān)聽ppfalsh插件的插件全屏設(shè)置方法。
4.如權(quán)利要求3所述的方法,其特征在于,所述判斷出對當(dāng)前網(wǎng)頁中的視頻播放插件的全屏顯示操作包括: 當(dāng)插件監(jiān)控服務(wù)接收到從ppfalsh插件發(fā)送的消息,則判斷出對當(dāng)前網(wǎng)頁中的ppfalsh插件的全屏顯示操作。
5.如權(quán)利要求1所述的方法,其特征在于,判斷對當(dāng)前網(wǎng)頁中的視頻播放插件的全屏顯示操作包括: 當(dāng)所述視頻播放插件的類型為npfalsh插件時,鉤取設(shè)置窗口屬性API函數(shù),并通過監(jiān)控所述函數(shù)參數(shù)判斷是否有對當(dāng)前網(wǎng)頁中的npfalsh插件的全屏顯示操作。
6.如權(quán)利要求5所述的方法,其特征在于,所述當(dāng)所述視頻播放插件的類型為npfalsh插件時,鉤取設(shè)置窗口屬性API函數(shù),并通過監(jiān)控所述函數(shù)參數(shù)判斷是否有對當(dāng)前網(wǎng)頁中的npfalsh插件的全屏顯示操作包括: 通過Detour工具鉤取當(dāng)前頁面進(jìn)程對user32.dll中設(shè)置窗口屬性API函數(shù)的調(diào)用;當(dāng)檢測到設(shè)置窗口屬性API函數(shù)的參數(shù)中的窗口類名參數(shù)的值為設(shè)置Flash全屏的值時,通過分析設(shè)置窗口屬性API函數(shù)的參數(shù)中的指定替換值參數(shù)的值判斷是否有對當(dāng)前網(wǎng)頁中的npfalsh插件的全屏顯示操作。
7.如權(quán)利要求6所述的方法,其特征在于,所述設(shè)置Flash全屏的值通過調(diào)用窗口類名獲取API獲得。
8.如權(quán)利要求2-7其中之一所述的方法,其特征在于,判斷對當(dāng)前網(wǎng)頁中的視頻播放插件的全屏顯示操作之前,還包括: 判斷所述視頻播放插件的類型,根據(jù)所述視頻播放插件的類型判斷判斷所述是否有對當(dāng)前網(wǎng)頁中的視頻播放插件的全屏顯示操作;所述插件類型包括ppfalsh插件、npfalsh插件。
9.如權(quán)利要求4所述的方法,其特征在于,獲取瀏覽器中的各瀏覽器窗口和/或當(dāng)前操作系統(tǒng)桌面上的各窗口的窗口屬性信息包括: 當(dāng)插件監(jiān)控服務(wù)接收到從ppfalsh插件發(fā)送的全屏顯示操作的消息后,將所述消息轉(zhuǎn)發(fā)給瀏覽器主進(jìn)程,由瀏覽器主進(jìn)程通過窗口清單枚舉所有的瀏覽窗口。
10.一種窗口的顯不裝置,包括: 全屏判斷模塊,適于判斷出對當(dāng)前網(wǎng)頁中的視頻播放插件的全屏顯示操作,在一全屏的置頂顯示的第一瀏覽器子窗口中加載所述視頻播放插件; 窗口獲取模塊,適于獲取瀏覽器中的各瀏覽器窗口和/或當(dāng)前操作系統(tǒng)桌面上的各窗口的窗口屬性信息; 屬性更改模塊,適于判斷所述各獲取到的窗口的屬性是否為將其置于第一瀏覽器子窗口之前;如果是,則將其屬性修改為置于第一瀏覽器子窗口之后進(jìn)行顯示。
【文檔編號】G06F9/44GK103793224SQ201410023601
【公開日】2014年5月14日 申請日期:2014年1月17日 優(yōu)先權(quán)日:2014年1月17日
【發(fā)明者】王國濤, 任寰 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司