一種計算機(jī)操作系統(tǒng)開機(jī)時間的獲取方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種計算機(jī)操作系統(tǒng)開機(jī)時間的獲取方法和裝置。本發(fā)明實(shí)施例提供的一種計算機(jī)操作系統(tǒng)開機(jī)時間的獲取方法包括:在用戶成功登錄計算機(jī)操作系統(tǒng)后,判斷當(dāng)前的開機(jī)啟動模式;根據(jù)判斷出的開機(jī)啟動模式,獲取從開機(jī)到用戶登錄成功之間的第一時間;以及,根據(jù)獲知的本次開機(jī)的特定開機(jī)界面,獲取從用戶登錄成功到該特定開機(jī)界面加載成功的第二時間;由第一時間和第二時間獲取系統(tǒng)本次的開機(jī)時間。
【專利說明】一種計算機(jī)操作系統(tǒng)開機(jī)時間的獲取方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機(jī)軟件【技術(shù)領(lǐng)域】,特別涉及一種計算機(jī)操作系統(tǒng)開機(jī)時間的獲取方法和裝置。
【背景技術(shù)】
[0002]開機(jī)時間已成為衡量用戶電腦配置和健康狀況的最直接指標(biāo),當(dāng)系統(tǒng)啟動時,如果存在很多的服務(wù)啟動項(xiàng),會導(dǎo)致開機(jī)時間比較長,用戶不得不等待較長一段時間才能正常操作電腦。眾多系統(tǒng)優(yōu)化軟件會提供啟動優(yōu)化、磁盤整理之類的功能用于提升開機(jī)速度,其最直接的表現(xiàn)也是開機(jī)時間。所以,準(zhǔn)確的開機(jī)時間算法至關(guān)重要。
[0003]對Windows7及之前的系統(tǒng),現(xiàn)有技術(shù)采用監(jiān)控CPU或者磁盤利用率等方式來判斷開機(jī)過程是否完成,開機(jī)完成之后,在桌面上彈出開機(jī)小助手窗體,顯示開機(jī)時間并提示用戶可以開始操作電腦。
[0004]Windows8(簡寫為Win8)系統(tǒng)引入了 Modern桌面與Modern應(yīng)用的概念,該Modern桌面與傳統(tǒng)桌面并行存在,Modern桌面只能運(yùn)行Modern應(yīng)用,傳統(tǒng)桌面只能運(yùn)行傳統(tǒng)應(yīng)用,當(dāng)用戶登錄成功后,首先看到的是Modern桌面。并且,WinS系統(tǒng)還引入了混合啟動(Hybrid Boot)的機(jī)制,原理是Win8系統(tǒng)關(guān)機(jī)時只關(guān)閉用戶會話,讓系統(tǒng)服務(wù)會話轉(zhuǎn)入休眠狀態(tài),當(dāng)系統(tǒng)啟動時,不再進(jìn)行系統(tǒng)服務(wù)的初始化操作,只需要從休眠文件中恢復(fù)系統(tǒng)服務(wù)狀態(tài),從而實(shí)現(xiàn)開機(jī)速度的有效提升。
[0005]然而,現(xiàn)有方案無法及時、準(zhǔn)確地獲取到WinS系統(tǒng)的開機(jī)時間,主要原因主要如下:
[0006]例如,在用戶成功登錄Win8系統(tǒng),進(jìn)入Modern桌面后,此時Modern應(yīng)用已加載完畢,Modern桌面下的開機(jī)操作已經(jīng)完成,可供用戶正常使用,用戶可以停留在Modern桌面下或者選擇切換至傳統(tǒng)桌面。然而,現(xiàn)有方案只有在用戶切換到傳統(tǒng)桌面,CPU或者磁盤利用率達(dá)到一定閾值后,才認(rèn)為開機(jī)完成,向用戶展示提示信息,對選擇停留在Modern桌面下的用戶,現(xiàn)有方案會判定未完成開機(jī)操作,也不會向用戶顯示開機(jī)完成的提示,從而無法及時將開機(jī)時間通知用戶,給用戶帶來了困惑;
[0007]又例如,對于采用了混合啟動機(jī)制的開機(jī)場景,雖然本次開機(jī)無需執(zhí)行系統(tǒng)的初始化操作,但是現(xiàn)有的開機(jī)時間算法獲取到的時間并不是以本次的加電時刻為起始點(diǎn),而是以上一次執(zhí)行系統(tǒng)初始化時的加電時刻為起始點(diǎn),從而導(dǎo)致獲取到錯誤的開機(jī)時間,與用戶實(shí)際感知的時間不相符。
【發(fā)明內(nèi)容】
[0008]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的計算機(jī)操作系統(tǒng)開機(jī)時間的獲取方法和裝置。
[0009]依據(jù)本發(fā)明的一個方面,本發(fā)明實(shí)施例提供了一種計算機(jī)操作系統(tǒng)開機(jī)時間的獲取方法,包括:[0010]在用戶成功登錄計算機(jī)操作系統(tǒng)后,判斷當(dāng)前的開機(jī)啟動模式;
[0011]根據(jù)判斷出的開機(jī)啟動模式,獲取從開機(jī)到用戶登錄成功之間的第一時間;以及,
[0012]根據(jù)獲知的本次開機(jī)的特定開機(jī)界面,獲取從用戶登錄成功到該特定開機(jī)界面加載成功的第二時間;
[0013]由第一時間和第二時間獲取系統(tǒng)本次的開機(jī)時間。
[0014]其中,上述根據(jù)判斷出的開機(jī)啟動模式,獲取從開機(jī)到用戶登錄成功之間的第一時間包括:
[0015]若開機(jī)啟動模式為冷啟動,調(diào)用系統(tǒng)提供的第一接口獲取第一時間;
[0016]若開機(jī)啟動模式為熱啟動,從系統(tǒng)注冊表的預(yù)定鍵值存儲的數(shù)據(jù)中獲取第一時間。
[0017]其中,上述根據(jù)獲知的本次開機(jī)的特定開機(jī)界面,獲取從用戶登錄成功到該特定開機(jī)界面加載成功的第二時間包括:將系統(tǒng)設(shè)置中默認(rèn)的開機(jī)界面作為特定開機(jī)界面;或者,在開機(jī)導(dǎo)航界面上向用戶展示系統(tǒng)支持的開機(jī)界面,接收用戶返回的選取命令,將該選取命令對應(yīng)的開機(jī)界面作為特定開機(jī)界面。
[0018]其中,上述根據(jù)獲知的本次開機(jī)的特定開機(jī)界面,獲取從用戶登錄成功到該特定開機(jī)界面加載成功的第二時間包括:
[0019]將檢測到用戶登錄成功消息的時間點(diǎn)作為第二時間的起始點(diǎn);調(diào)用系統(tǒng)中的第二預(yù)定接口監(jiān)測當(dāng)前界面顯示出的信息,以及,將當(dāng)前界面顯示出的信息轉(zhuǎn)換為特定開機(jī)界面的時間點(diǎn)作為第二時間的終止點(diǎn);由起始點(diǎn)和終止點(diǎn)之間的時間間隔獲取第二時間。
[0020]其中,上述判斷當(dāng)前的開機(jī)啟動模式包括:
[0021]調(diào)用系統(tǒng)中的第三預(yù)定接口獲取預(yù)定參數(shù);當(dāng)預(yù)定參數(shù)為第一數(shù)值時,判定當(dāng)前的開機(jī)啟動模式為冷啟動,當(dāng)預(yù)定參數(shù)不是第一數(shù)值時,判定當(dāng)前的開機(jī)啟動模式為熱啟動。
[0022]其中,上述方法還包括:當(dāng)特定開機(jī)界面為Modern桌面時,調(diào)用系統(tǒng)的WinRT提供的API創(chuàng)建第一消息,該第一消息至少包括系統(tǒng)本次的開機(jī)時間;將第一消息發(fā)送至Windows消息推送服務(wù);利用Windows消息推送服務(wù)將第一消息彈出在Modern桌面上。
[0023]其中,在將第一消息發(fā)送至Windows消息推送服務(wù)之前,上述方法還包括:查詢Windows消息推送服務(wù)在啟動時需要生成的預(yù)定窗口是否創(chuàng)建成功,當(dāng)該預(yù)定窗口創(chuàng)建成功時,確認(rèn)Windows消息推送服務(wù)啟動成功。
[0024]其中,上述查詢預(yù)定窗口是否創(chuàng)建成功包括:輪詢系統(tǒng)中已經(jīng)創(chuàng)建成功的窗口中是否包括第一窗口標(biāo)識的窗口,若是,則確認(rèn)預(yù)定窗口創(chuàng)建成功。
[0025]其中,上述利用Windows消息推送服務(wù)將第一消息彈出在Modern桌面上包括:在預(yù)定時間段內(nèi),當(dāng)監(jiān)測到彈出錯誤消息時,利用Windows消息推送服務(wù)重發(fā)第一消息,直至第一消息彈出成功。
[0026]其中,上述方法還包括:將系統(tǒng)本次的開機(jī)時間展示在本次開機(jī)的特定開機(jī)界面上,以將本次的開機(jī)時間通知給用戶。
[0027]依據(jù)本發(fā)明的另一個方面,本發(fā)明實(shí)施例提供了一種計算機(jī)操作系統(tǒng)開機(jī)時間的獲取裝置,包括:
[0028]判斷單元,適于在用戶成功登錄計算機(jī)操作系統(tǒng)后,判斷當(dāng)前的開機(jī)啟動模式;[0029]第一獲取單元,適于根據(jù)判斷出的開機(jī)啟動模式,獲取從開機(jī)到用戶登錄成功之間的第一時間;以及,
[0030]第二獲取單元,適于根據(jù)獲知的本次開機(jī)的特定開機(jī)界面,獲取從用戶登錄成功到該特定開機(jī)界面加載成功的第二時間;
[0031]第三獲取單元,適于由第一時間和第二時間獲取系統(tǒng)本次的開機(jī)時間。
[0032]其中,第一獲取單元,適于若開機(jī)啟動模式為冷啟動,調(diào)用系統(tǒng)提供的第一接口獲取第一時間;若開機(jī)啟動模式為熱啟動,從系統(tǒng)注冊表的預(yù)定鍵值存儲的數(shù)據(jù)中獲取第一時間。
[0033]其中,第二獲取單元,適于將系統(tǒng)設(shè)置中默認(rèn)的開機(jī)界面作為特定開機(jī)界面;或者,在開機(jī)導(dǎo)航界面上向用戶展示系統(tǒng)支持的開機(jī)界面,接收用戶返回的選取命令,將該選取命令對應(yīng)的開機(jī)界面作為特定開機(jī)界面。
[0034]其中,第二獲取單元,適于將檢測到用戶登錄成功消息的時間點(diǎn)作為第二時間的起始點(diǎn);調(diào)用系統(tǒng)中的第二預(yù)定接口監(jiān)測當(dāng)前界面顯示出的信息,將當(dāng)前界面顯示出的信息轉(zhuǎn)換為特定開機(jī)界面的時間點(diǎn)作為第二時間的終止點(diǎn);由起始點(diǎn)和終止點(diǎn)之間的時間間隔獲取第二時間。
[0035]其中,第一獲取單元,適于調(diào)用系統(tǒng)中的第三預(yù)定接口獲取預(yù)定參數(shù);當(dāng)預(yù)定參數(shù)為第一數(shù)值時,判定當(dāng)前的開機(jī)啟動模式為冷啟動,當(dāng)預(yù)定參數(shù)不是第一數(shù)值時,判定當(dāng)前的開機(jī)啟動模式為熱啟動。
[0036]其中,上述裝置還包括消息彈出單元,適于當(dāng)特定開機(jī)界面為Modern桌面時,調(diào)用系統(tǒng)的WinRT提供的API創(chuàng)建第一消息,該第一消息至少包括系統(tǒng)本次的開機(jī)時間;將第一消息發(fā)送至Windows消息推送服務(wù);利用Windows消息推送服務(wù)將第一消息彈出在Modern桌面上。
[0037]其中,消息彈出單元,還適于在將第一消息發(fā)送至Windows消息推送服務(wù)之前,查詢Windows消息推送服務(wù)在啟動時需要生成的預(yù)定窗口是否創(chuàng)建成功,當(dāng)該預(yù)定窗口創(chuàng)建成功時,確認(rèn)Windows消息推送服務(wù)啟動成功。
[0038]其中,消息彈出單元,還適于輪詢系統(tǒng)中已經(jīng)創(chuàng)建成功的窗口中是否包括第一窗口標(biāo)識的窗口,若是,則確認(rèn)預(yù)定窗口創(chuàng)建成功。
[0039]其中,消息彈出單元,還適于在預(yù)定時間段內(nèi),當(dāng)監(jiān)測到彈出錯誤消息時,利用Windows消息推送服務(wù)重發(fā)第一消息,直至第一消息彈出成功。
[0040]其中,上述裝置還包括展示單元,適于將系統(tǒng)本次的開機(jī)時間展示在本次開機(jī)的特定開機(jī)界面上,以將本次的開機(jī)時間通知給用戶。
[0041]由上可見,本發(fā)明實(shí)施例通過區(qū)分計算機(jī)操作系統(tǒng)的開機(jī)啟動模式,并在每種開機(jī)啟動模式下計算從開機(jī)起到特定開機(jī)界面加載成功之間的時間得到本次開機(jī)啟動時間的技術(shù)手段,解決了現(xiàn)有方案在混合啟動機(jī)制下獲取到的開機(jī)時間錯誤的問題,能夠在不同開機(jī)啟動模式下計算出準(zhǔn)確的開機(jī)時間,使計算出的開機(jī)時間與用戶實(shí)際的感知相一致。
[0042]并且,本發(fā)明實(shí)施例基于toast機(jī)制,通過創(chuàng)建指示系統(tǒng)開機(jī)時間的第一消息并將該第一消息彈出在Modern桌面的技術(shù)手段,解決了現(xiàn)有方案無法對停留在Modern桌面下的用戶顯示開機(jī)時間的問題,達(dá)到了能夠在Modern桌面向用戶展示系統(tǒng)開機(jī)時間的技術(shù)效果。
[0043]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。
【專利附圖】
【附圖說明】
[0044]通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0045]圖1示出了根據(jù)本發(fā)明一個實(shí)施例的一種計算機(jī)操作系統(tǒng)開機(jī)時間的獲取方法流程示意圖;
[0046]圖2示出了根據(jù)本發(fā)明一個實(shí)施例的開機(jī)導(dǎo)航界面的示意圖;
[0047]圖3示出了根據(jù)本發(fā)明又一個實(shí)施例的展示出的toast消息的一個示例;
[0048]圖4示出了根據(jù)本發(fā)明又一個實(shí)施例的展示出的toast消息的另一個示例;
[0049]圖5示出了根據(jù)本發(fā)明又一個實(shí)施例的在傳統(tǒng)桌面上展示的開機(jī)時間提示信息的不意圖;
[0050]圖6示出了本發(fā)明又一個實(shí)施例的一種計算機(jī)操作系統(tǒng)開機(jī)時間的獲取裝置結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0051]下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0052]現(xiàn)有Wind0ws7系統(tǒng)的開機(jī)時間算法,獲取到的開機(jī)時間是傳統(tǒng)桌面加載結(jié)束所需要的時間,且只能在傳統(tǒng)桌面彈出開機(jī)過程結(jié)束的提示,對Windows8系統(tǒng)的Modern桌面下的用戶,將無法感知開機(jī)提示;且現(xiàn)有開機(jī)時間算法不能正確獲取WindowsS系統(tǒng)熱啟動模式下的開機(jī)時間。針對這些問題,本發(fā)明提出了一種新型的開機(jī)時間計算方案,能夠準(zhǔn)確獲取到Windows8系統(tǒng)的開機(jī)時間,并實(shí)現(xiàn)在Modern桌面下對用戶的提示操作。本方案也適用于Windows7及以前版本的系統(tǒng)的開機(jī)時間計算場景。
[0053]本發(fā)明一個實(shí)施例提供了一種計算機(jī)操作系統(tǒng)開機(jī)時間的獲取方法,參見圖1,包括:
[0054]SlOO:在用戶成功登錄計算機(jī)操作系統(tǒng)后,判斷當(dāng)前的開機(jī)啟動模式。
[0055]本實(shí)施例以WindowsS系統(tǒng)為例來說明本方案獲取計算機(jī)操作系統(tǒng)開機(jī)時間的方法。為了清楚說明本方案,下面先對WindowsS系統(tǒng)的相關(guān)特征進(jìn)行描述。
[0056]Windows8系統(tǒng)引入了混合啟動(Hybrid Boot)的機(jī)制,該機(jī)制的原理是Windows8系統(tǒng)關(guān)機(jī)時只關(guān)閉用戶會話,讓系統(tǒng)服務(wù)會話轉(zhuǎn)入休眠狀態(tài),當(dāng)系統(tǒng)啟動時(此時的啟動為熱啟動),不再進(jìn)行系統(tǒng)服務(wù)的初始化操作,只需要從休眠文件中恢復(fù)系統(tǒng)服務(wù)狀態(tài),從而實(shí)現(xiàn)開機(jī)速度的有效提升。[0057]對混合啟動機(jī)制下,開機(jī)時無需執(zhí)行系統(tǒng)初始化,通過喚醒休眠文件以恢復(fù)至系統(tǒng)服務(wù)狀態(tài)的開機(jī)啟動模式稱之為熱啟動;而將開機(jī)時需要執(zhí)行系統(tǒng)初始化來進(jìn)入系統(tǒng)服務(wù)狀態(tài)的開機(jī)啟動模式稱之為冷啟動。
[0058]Windows8系統(tǒng)還引入了 Modern桌面與Modern應(yīng)用的概念,該Modern桌面與傳統(tǒng)桌面并行存在,Modern桌面只能運(yùn)行Modern應(yīng)用,傳統(tǒng)桌面只能運(yùn)行傳統(tǒng)應(yīng)用,當(dāng)用戶登錄成功后,首先看到的是Modern桌面。
[0059]S102:根據(jù)判斷出的開機(jī)啟動模式,獲取從開機(jī)到用戶登錄成功之間的第一時間。
[0060]本實(shí)施例所處理的開機(jī)啟動模式主要包括兩種:冷啟動和熱啟動。不同的開機(jī)啟動模式,獲取上述第一時間的方式也不同。
[0061]對上述用戶登錄成功的判定可以由計算機(jī)操作系統(tǒng)(如Windows8系統(tǒng))執(zhí)行,因?yàn)橄到y(tǒng)是可以獲知用戶在本系統(tǒng)中的登錄狀態(tài)的,即系統(tǒng)能夠獲知用戶當(dāng)前是否登錄成功。
[0062]若開機(jī)啟動模式為冷啟動,調(diào)用系統(tǒng)提供的第一接口獲取第一時間。該第一接口可以為微軟提供的接口 GetTickCountO。該GetTickCount O接口可以獲取系統(tǒng)從開機(jī)到當(dāng)前時刻所經(jīng)過的毫秒數(shù),該功能的關(guān)鍵在于確定開機(jī)完成時刻CPU或磁盤利用率應(yīng)滿足的閾值,即利用GetTickCountO接口獲取的開機(jī)時間為從開機(jī)起至用戶登錄成功且CPU或磁盤利用率達(dá)到一定閾值時需要的時間。
[0063]若開機(jī)啟動模式為熱啟動,從系統(tǒng)注冊表的預(yù)定鍵值存儲的數(shù)據(jù)中獲取第一時間。在系統(tǒng)注冊表的預(yù)定鍵值中會對系統(tǒng)的運(yùn)行時間進(jìn)行記錄,例如,鍵值HKE Y_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power\TotalResumeTime中存儲了本次熱啟動的運(yùn)行時間,該運(yùn)行時間即為熱啟動模式下,從開機(jī)(按下電源鍵)到用戶登錄成功之間的時間。
[0064]其中,上述判斷當(dāng)前的開機(jī)啟動模式的方法包括:調(diào)用系統(tǒng)中的第三預(yù)定接口獲取預(yù)定參數(shù);當(dāng)預(yù)定參數(shù)為第一數(shù)值時,判定當(dāng)前的開機(jī)啟動模式為冷啟動,當(dāng)預(yù)定參數(shù)不是第一數(shù)值時,判定當(dāng)前的開機(jī)啟動模式為熱啟動。
[0065]示例性的,上述第三預(yù)定接口可以為CallNtPowerInformation接口,上述預(yù)定參數(shù)可以為LastWakeTime (上一次喚醒時間)參數(shù),上述第一數(shù)值可以為0,則利用該接口獲取系統(tǒng)的LastWakeTime參數(shù)值,如果該參數(shù)值為O,則說明當(dāng)前的開機(jī)啟動模式是冷啟動,如果該參數(shù)值非O,則說明當(dāng)前的開機(jī)啟動模式是熱啟動。
[0066]由于用戶所感知的開機(jī)時間一般為從設(shè)備的電源鍵被按下到開機(jī)界面加載成功之間的時間,上述獲取到的第一時間僅僅為開機(jī)時間的一部分,還需要考慮從用戶登錄成功到傳統(tǒng)桌面或Modern桌面加載結(jié)束這一段的時間,則進(jìn)入步驟S104。
[0067]需要說明的是,本實(shí)施例的開機(jī)界面為計算機(jī)系統(tǒng)開機(jī)成功時所展示的界面,當(dāng)計算機(jī)系統(tǒng)展示出該開機(jī)界面時表明計算機(jī)系統(tǒng)的相應(yīng)服務(wù)已經(jīng)啟動完畢,能夠通過該開機(jī)界面接收用戶的命令,執(zhí)行相應(yīng)的操作。
[0068]S104:根據(jù)獲知的本次開機(jī)的特定開機(jī)界面,獲取從用戶登錄成功到該特定開機(jī)界面加載成功的第二時間。
[0069]Windows8系統(tǒng)包括兩種桌面,即傳統(tǒng)桌面和Modern桌面。本實(shí)施例的特定開機(jī)界面包括傳統(tǒng)桌面和Modern桌面兩種,則上述第二時間有兩種類型,一種為從用戶登錄成功到傳統(tǒng)桌面加載成功的時間,另一種為從用戶登錄成功到Modern桌面加載成功的時間。[0070]其中,通過如下方式中的一種,獲知本次開機(jī)的特定開機(jī)界面:
[0071]方式一、將系統(tǒng)設(shè)置中默認(rèn)的開機(jī)界面作為特定開機(jī)界面。
[0072]這種方式下,不需要與外部用戶進(jìn)行交互,直接將系統(tǒng)設(shè)置信息中的開機(jī)界面作為特定開機(jī)界面,例如,對WindowsS系統(tǒng),通常當(dāng)用戶登錄成功后,默認(rèn)首先進(jìn)入的是Modern桌面,則在系統(tǒng)未收到外部指令時,本次開機(jī)的特定開機(jī)界面為Modern桌面。
[0073]方式二、在開機(jī)導(dǎo)航界面上向用戶展示系統(tǒng)支持的開機(jī)界面,接收用戶返回的選取命令,將該選取命令對應(yīng)的開機(jī)界面作為特定開機(jī)界面。
[0074]這種方式下,通過與外部用戶的交互確定本次開機(jī)的開機(jī)界面。參見圖2,為本實(shí)施例提供的一種開機(jī)導(dǎo)航界面的示例,該開機(jī)導(dǎo)航界面可以系統(tǒng)中的軟件(如360安全衛(wèi)士)提供。
[0075]在導(dǎo)航界面上展示系統(tǒng)支持的開機(jī)界面,包括Metro界面(即Modern桌面)和Windows桌面(即傳統(tǒng)桌面)。該導(dǎo)航界面上還指示當(dāng)前默認(rèn)的特定開機(jī)界面為Modern桌面,如圖2中選項(xiàng)“開機(jī)到達(dá)“Metro界面”(Windows8默認(rèn))”當(dāng)前被選中,而當(dāng)來自用戶的選擇命令指示選項(xiàng)“開機(jī)自動從“Metro界面”跳轉(zhuǎn)至“Windows桌面””被選中時,則會將Windows桌面作為本次開機(jī)的特定開機(jī)界面。
[0076]可以在系統(tǒng)進(jìn)入到Metro界面后向用戶展示該導(dǎo)航界面,則該導(dǎo)航界面上還可以展示系統(tǒng)開機(jī)達(dá)到Metro界面需要的時間,如圖2中示出的“本次開機(jī)時間15秒”。導(dǎo)航界面中還可以包括對本次開機(jī)的總評、啟動程序的數(shù)量等信息。
[0077]其中,計算上述第二時間的方法可以包括如下:
[0078]S1040:將檢測到用戶登錄成功消息的時間點(diǎn)作為第二時間的起始點(diǎn)。
[0079]用戶利用在系統(tǒng)中注冊的賬戶名和賬戶密碼登錄系統(tǒng),當(dāng)系統(tǒng)確認(rèn)到用戶登錄成功后,會生成用戶登錄成功消息。則將檢測到系統(tǒng)生成了該用戶登錄成功消息的時間點(diǎn)作為第二時間的起始點(diǎn)。
[0080]S1042:調(diào)用系統(tǒng)中的第二預(yù)定接口監(jiān)測當(dāng)前界面顯示出的信息。
[0081]上述第二預(yù)定接口可以為系統(tǒng)中CLSID_AppVisibility (標(biāo)識-應(yīng)用可見性)功能的接口 IsLauncherVisible (桌面啟動器是否可見),調(diào)用該IsLauncherVisible接口監(jiān)測設(shè)備界面上顯示出的信息。
[0082]S1044:將當(dāng)前界面顯示出的信息轉(zhuǎn)換為特定開機(jī)界面的時間點(diǎn)作為第二時間的終止點(diǎn)。
[0083]當(dāng)界面顯示出的信息轉(zhuǎn)換為Modern桌面或者傳統(tǒng)桌面的時間點(diǎn)作為第二時間的終止點(diǎn)。
[0084]S1046:由起始點(diǎn)和終止點(diǎn)獲取第二時間。
[0085]將上述起始點(diǎn)和終止點(diǎn)之間的時間間隔的數(shù)值作為第二時間。
[0086]S106:由第一時間和第二時間獲取系統(tǒng)本次的開機(jī)時間。
[0087]通常情況下,計算第一時間和第二時間之和得到系統(tǒng)本次的開機(jī)時間。可選的,也可以在計算出第一時間和第二時間之和后,進(jìn)行相應(yīng)的誤差補(bǔ)償,將誤差補(bǔ)償后的數(shù)值作為獲取到的系統(tǒng)的開機(jī)時間,以使計算出的開機(jī)時間與用戶實(shí)際感知的開機(jī)時間相一致。
[0088]進(jìn)一步的,本實(shí)施例在步驟S106之后,還可以包括如下操作:將系統(tǒng)本次的開機(jī)時間展示在本次開機(jī)的特定開機(jī)界面上,以將本次的開機(jī)時間通知給用戶。例如,將獲取到的開機(jī)時間展示在傳統(tǒng)桌面上或者將獲取到的開機(jī)時間展示在Modern桌面上,從而能夠及時、準(zhǔn)確地將開機(jī)時間告知用戶。
[0089]由上可見,本發(fā)明實(shí)施例通過區(qū)分WindowsS系統(tǒng)的開機(jī)啟動模式,并在每種開機(jī)啟動模式下計算從開機(jī)起到特定開機(jī)界面加載成功之間的時間得到本次開機(jī)啟動時間的技術(shù)手段,解決了現(xiàn)有方案在混合啟動機(jī)制下獲取到的開機(jī)時間錯誤的問題,能夠在不同開機(jī)啟動模式下計算出準(zhǔn)確的開機(jī)時間,使計算出的開機(jī)時間與用戶實(shí)際的感知相一致。
[0090]本發(fā)明又一個實(shí)施例提供的Windows8系統(tǒng)開機(jī)時間的獲取方法,在上述實(shí)施例的獲取開機(jī)時間方案的基礎(chǔ)上,進(jìn)一步的提供了一種在Modern桌面上展示開機(jī)時間提示信息的方案。
[0091]本方案基于WindowsS系統(tǒng)提供的toast機(jī)制(一種信息顯示機(jī)制)實(shí)現(xiàn),利用該toast機(jī)制實(shí)現(xiàn)傳統(tǒng)桌面與Modern桌面之間的交互。Toast機(jī)制依賴于WinRT (Windows運(yùn)行包),是由微軟提供的用來構(gòu)建Modern風(fēng)格應(yīng)用的一系列API,通過WinRT傳統(tǒng)的應(yīng)用程序(如360安全衛(wèi)士)可以向系統(tǒng)注冊并發(fā)送通知,然后由系統(tǒng)負(fù)責(zé)展示。本實(shí)施例通過toast消息在Modern桌面上展示開機(jī)時間,并提供與傳統(tǒng)應(yīng)用的交互。
[0092]本實(shí)施例的在Modern桌面上展示開機(jī)時間提示信息的方法可以包括如下:
[0093]S200:當(dāng)特定開機(jī)界面為Modern桌面時,調(diào)用系統(tǒng)的WinRT提供的API創(chuàng)建第一消息,該第一消息至少包括系統(tǒng)本次的開機(jī)時間。示例性的,本實(shí)施例中的第一消息由toast消息實(shí)現(xiàn)。
[0094]則上述toast消息中除了包括系統(tǒng)本次的開機(jī)時間,還可以包括其他與開機(jī)相關(guān)的信息,例如,參見圖3和圖4,為本實(shí)施例的展示出的toast消息的兩個示例。圖3的示例中為開機(jī)時間大于等于20秒(I分58秒)時生成的toast消息,圖4的示例中為開機(jī)時間小于20秒(19.58秒)時生成的toast消息,開機(jī)時間小于20秒時采用小數(shù)點(diǎn)顯示不足I秒的時間部分。圖3和圖4的示例中還包括本次開機(jī)時間與其他設(shè)備開機(jī)的比較信息(擊敗全國99%的電腦),以及對本次開機(jī)的描述信息(四星機(jī)戰(zhàn)斗機(jī))等等。
[0095]S202:確認(rèn) Windows 消息推送服務(wù)(WindowsPushNotification)啟動成功。
[0096]在利用WindowsPushNotification服務(wù)在Modern桌面上彈出toast之前,需要確認(rèn)該服務(wù)已經(jīng)初始化結(jié)束,啟動成功。只有在WindowsPushNotification服務(wù)啟動成功后,才能夠正常顯示toast消息,因此需要確認(rèn)合適的彈出時機(jī)。
[0097]由于窗口的創(chuàng)建是WindowsPushNotification服務(wù)準(zhǔn)備就緒的一個基本條件,所以本實(shí)施例通過查詢WindowsPushNotification服務(wù)在啟動時需要生成的預(yù)定窗口(如預(yù)定的隱藏窗口)是否創(chuàng)建成功來判斷WindowsPushNotification服務(wù)是否成功啟動,當(dāng)查找到預(yù)定窗口創(chuàng)建成功時,確認(rèn)Windows消息推送服務(wù)啟動成功,否則,說明Windows消息推送服務(wù)沒有啟動成功,無法執(zhí)行toast消息在Modern桌面的彈出操作。
[0098]可選的,上述查詢預(yù)定窗口是否創(chuàng)建成功包括:輪詢系統(tǒng)中已經(jīng)創(chuàng)建成功的窗口中是否包括第一窗口標(biāo)識的窗口,若是,則確認(rèn)預(yù)定窗口創(chuàng)建成功。該第一窗口標(biāo)識可以為窗口名稱,或其他唯一性標(biāo)識窗口的信息。
[0099]例如,若選取上述預(yù)定窗口為WindowsPushNotification窗口,即該預(yù)定窗口的名稱為“Windows消息推送”,則當(dāng)輪詢出系統(tǒng)中存在名稱為“Windows消息推送”的窗口時,確認(rèn)上述預(yù)定窗口創(chuàng)建成功,WindowsPushNotification服務(wù)啟動成功。[0100]通過本步驟的對彈出時機(jī)的判斷,保證了在絕大多數(shù)情況下toast消息能夠及時正常的在Modern桌面上彈出。
[0101]S204:將toast消息發(fā)送至Windows消息推送服務(wù)。
[0102]將toast消息發(fā)送至已經(jīng)成功啟動的Windows消息推送服務(wù)。
[0103]S206:利用Windows消息推送服務(wù)將toast消息彈出在Modern桌面上。
[0104]本實(shí)施例會對toast相關(guān)的消息進(jìn)行監(jiān)控,當(dāng)toast消息彈出異常時,在預(yù)定時間段內(nèi)進(jìn)行重試處理,以進(jìn)一步保證toast消息的正常顯示。例如,當(dāng)發(fā)生彈出異常時,系統(tǒng)會返回彈出錯誤消息,則在預(yù)定時間段(一分鐘)內(nèi),當(dāng)監(jiān)測到彈出錯誤消息時,利用Windows消息推送服務(wù)重發(fā)該toast消息,直至toast消息彈出成功。
[0105]另外,當(dāng)存在除了上述指示開機(jī)時間的toast消息之外的多條toast消息時,如一些Modern應(yīng)用也會向Modern桌面彈出toast消息,貝U本實(shí)施例對需要彈出的toast消息進(jìn)行排列,如按照toast消息的生成時間進(jìn)行排列,按照排列的順序?qū)oast消息逐個彈出在Modern桌面上。
[0106]彈出的展示toast消息的提示框可以位于Modern桌面的右上角,并可以設(shè)置該提示框的顯示時間,例如設(shè)置該提示框的顯示時間為7秒,則該提示框在持續(xù)顯示7秒后消失。在該提示框上還可以設(shè)置“關(guān)閉”按鈕,如當(dāng)鼠標(biāo)觸碰到該提示框時,提示框的右上角將出現(xiàn)“X”關(guān)閉按鈕,鼠標(biāo)移走時,“X”自動隱藏,點(diǎn)擊“X”關(guān)閉提示條(這種關(guān)閉僅本次有效,下次toast消息仍能正常彈出)。
[0107]另外,本實(shí)施例也可以在傳統(tǒng)桌面上展示出開機(jī)時間提示,一種展示方式為在開機(jī)導(dǎo)航界面上顯示,參見圖5,示出了本實(shí)施例提供的一種在傳統(tǒng)桌面上展示的開機(jī)時間提示信息。在該開機(jī)導(dǎo)航界面的右側(cè)部分展示了本次的開機(jī)時間,如“本次開機(jī)時間51秒”,在該開機(jī)導(dǎo)航界面的左側(cè)部分展示了本次開機(jī)界面為Windows桌面(傳統(tǒng)桌面)。
[0108]本發(fā)明實(shí)施例基于toast機(jī)制,通過創(chuàng)建指示系統(tǒng)開機(jī)時間的第一消息并將該第一消息彈出在Modern桌面的技術(shù)手段,解決了現(xiàn)有方案無法對停留在Modern桌面下的用戶顯示開機(jī)時間的問題,達(dá)到了能夠在Modern桌面向用戶展示系統(tǒng)開機(jī)時間的技術(shù)效果。
[0109]本發(fā)明又一個實(shí)施例還提供了一種計算機(jī)操作系統(tǒng)開機(jī)時間的獲取裝置,參見圖
6,包括:
[0110]判斷單元600,適于在用戶成功登錄計算機(jī)操作系統(tǒng)后,判斷當(dāng)前的開機(jī)啟動模式。
[0111]第一獲取單元602,適于根據(jù)判斷出的開機(jī)啟動模式,獲取從開機(jī)到用戶登錄成功之間的第一時間。其中,第一獲取單元602適于若開機(jī)啟動模式為冷啟動,調(diào)用系統(tǒng)提供的第一接口獲取第一時間;若開機(jī)啟動模式為熱啟動,從系統(tǒng)注冊表的預(yù)定鍵值存儲的數(shù)據(jù)中獲取第一時間。以及,第一獲取單元602適于調(diào)用系統(tǒng)中的第三預(yù)定接口獲取預(yù)定參數(shù);當(dāng)預(yù)定參數(shù)為第一數(shù)值時,判定當(dāng)前的開機(jī)啟動模式為冷啟動,當(dāng)預(yù)定參數(shù)不是第一數(shù)值時,判定當(dāng)前的開機(jī)啟動模式為熱啟動。
[0112]第二獲取單元604,適于根據(jù)獲知的本次開機(jī)的特定開機(jī)界面,獲取從用戶登錄成功到該特定開機(jī)界面加載成功的第二時間。其中,第二獲取單元604適于將系統(tǒng)設(shè)置中默認(rèn)的開機(jī)界面作為特定開機(jī)界面;或者,在開機(jī)導(dǎo)航界面上向用戶展示系統(tǒng)支持的開機(jī)界面,接收用戶返回的選取命令,將該選取命令對應(yīng)的開機(jī)界面作為特定開機(jī)界面。其中,第二獲取單元604適于將檢測到用戶登錄成功消息的時間點(diǎn)作為第二時間的起始點(diǎn);調(diào)用系統(tǒng)中的第二預(yù)定接口監(jiān)測當(dāng)前界面顯示出的信息,將當(dāng)前界面顯示出的信息轉(zhuǎn)換為特定開機(jī)界面的時間點(diǎn)作為第二時間的終止點(diǎn);由起始點(diǎn)和終止點(diǎn)之間的時間間隔獲取第二時間。
[0113]第三獲取單元606,適于由第一時間和第二時間獲取系統(tǒng)本次的開機(jī)時間。例如,第三獲取單元606將第一時間和第二時間之和作為系統(tǒng)本次的開機(jī)時間。
[0114]其中,上述裝置還包括消息彈出單元608,適于當(dāng)特定開機(jī)界面為Modern桌面時,調(diào)用系統(tǒng)的WinRT提供的API創(chuàng)建第一消息,該第一消息至少包括系統(tǒng)本次的開機(jī)時間;將第一消息發(fā)送至Windows消息推送服務(wù);利用Windows消息推送服務(wù)將第一消息彈出在Modern桌面上。其中,消息彈出單元608還適于在將第一消息發(fā)送至Windows消息推送服務(wù)之前,查詢預(yù)定窗口是否創(chuàng)建成功,當(dāng)該預(yù)定窗口創(chuàng)建成功時,確認(rèn)Windows消息推送服務(wù)啟動成功。在查詢該預(yù)定窗口是否創(chuàng)建成功時,消息彈出單元608輪詢系統(tǒng)中已經(jīng)創(chuàng)建成功的窗口中是否包括預(yù)定窗口名稱的窗口,若是,則確認(rèn)預(yù)定窗口創(chuàng)建成功。示例性的,上述第一消息可以由toast消息實(shí)現(xiàn)。
[0115]本實(shí)施例還提供了一種對彈出異常的處理機(jī)制,消息彈出單元608還適于在預(yù)定時間段內(nèi),當(dāng)監(jiān)測到彈出錯誤消息時,利用Windows消息推送服務(wù)重發(fā)第一消息,直至第一消息彈出成功。
[0116]進(jìn)一步的,上述裝置還可以包括展示單元,適于將系統(tǒng)本次的開機(jī)時間展示在本次開機(jī)的特定開機(jī)界面上,以將本次的開機(jī)時間通知給用戶。該展示單元能夠在傳統(tǒng)桌面或Modern桌面上展示開機(jī)時間。一種實(shí)現(xiàn)方式下,該展示單元中設(shè)置有上述消息彈出單元,該展示單元除了具有該消息彈出單元的所有功能之外,還能夠在傳統(tǒng)桌面上展示開機(jī)時間。
[0117]本發(fā)明裝置實(shí)施例中各單元的具體實(shí)現(xiàn)方式可以參見本發(fā)明的方法實(shí)施例,在此不再贅述。
[0118]由上可見,本發(fā)明實(shí)施例通過區(qū)分WindowsS系統(tǒng)的開機(jī)啟動模式,并在每種開機(jī)啟動模式下計算從開機(jī)起到特定開機(jī)界面加載成功之間的時間得到本次開機(jī)啟動時間的技術(shù)手段,解決了現(xiàn)有方案在混合啟動機(jī)制下獲取到的開機(jī)時間錯誤的問題,能夠在不同開機(jī)啟動模式下計算出準(zhǔn)確的開機(jī)時間,使計算出的開機(jī)時間與用戶實(shí)際的感知相一致。
[0119]并且,本發(fā)明實(shí)施例基于toast機(jī)制,通過創(chuàng)建指示系統(tǒng)開機(jī)時間的toast消息并將該toast消息彈出在Modern桌面的技術(shù)手段,解決了現(xiàn)有方案對無法對停留在Modern桌面下的用戶顯示開機(jī)時間的問題,達(dá)到了能夠在Modern桌面向用戶展示系統(tǒng)開機(jī)時間的技術(shù)效果。
[0120]本發(fā)明實(shí)施例提供的一種計算機(jī)操作系統(tǒng)開機(jī)時間的獲取裝置,包括:
[0121]判斷單元,適于在用戶成功登錄計算機(jī)操作系統(tǒng)后,判斷當(dāng)前的開機(jī)啟動模式;
[0122]第一獲取單元,適于根據(jù)判斷出的開機(jī)啟動模式,獲取從開機(jī)到用戶登錄成功之間的第一時間;以及,
[0123]第二獲取單元,適于根據(jù)獲知的本次開機(jī)的特定開機(jī)界面,獲取從用戶登錄成功到該特定開機(jī)界面加載成功的第二時間;
[0124]第三獲取單元,適于由所述第一時間和第二時間獲取系統(tǒng)本次的開機(jī)時間。[0125]根據(jù)本發(fā)明實(shí)施例所述的裝置,其中,所述第一獲取單元,適于若開機(jī)啟動模式為冷啟動,調(diào)用系統(tǒng)提供的第一接口獲取所述第一時間;若開機(jī)啟動模式為熱啟動,從系統(tǒng)注冊表的預(yù)定鍵值存儲的數(shù)據(jù)中獲取所述第一時間。
[0126]根據(jù)本發(fā)明實(shí)施例所述的裝置,其中,所述第二獲取單元,適于將系統(tǒng)設(shè)置中默認(rèn)的開機(jī)界面作為所述特定開機(jī)界面;或者,在開機(jī)導(dǎo)航界面上向用戶展示系統(tǒng)支持的開機(jī)界面,接收用戶返回的選取命令,將該選取命令對應(yīng)的開機(jī)界面作為所述特定開機(jī)界面。
[0127]根據(jù)本發(fā)明實(shí)施例所述的裝置,其中,所述第二獲取單元,適于將檢測到用戶登錄成功消息的時間點(diǎn)作為所述第二時間的起始點(diǎn);調(diào)用系統(tǒng)中的第二預(yù)定接口監(jiān)測當(dāng)前界面顯示出的信息,將當(dāng)前界面顯示出的信息轉(zhuǎn)換為所述特定開機(jī)界面的時間點(diǎn)作為所述第二時間的終止點(diǎn);由所述起始點(diǎn)和終止點(diǎn)之間的時間間隔獲取所述第二時間。
[0128]根據(jù)本發(fā)明實(shí)施例所述的裝置,其中,所述第一獲取單元,適于調(diào)用系統(tǒng)中的第三預(yù)定接口獲取預(yù)定參數(shù);當(dāng)所述預(yù)定參數(shù)為第一數(shù)值時,判定當(dāng)前的開機(jī)啟動模式為冷啟動,當(dāng)所述預(yù)定參數(shù)不是第一數(shù)值時,判定當(dāng)前的開機(jī)啟動模式為熱啟動。
[0129]根據(jù)本發(fā)明實(shí)施例所述的裝置,其中,所述裝置還包括消息彈出單元,適于當(dāng)所述特定開機(jī)界面為Modern桌面時,調(diào)用系統(tǒng)的WinRT提供的API創(chuàng)建第一消息,所述第一消息至少包括所述系統(tǒng)本次的開機(jī)時間;將所述第一消息發(fā)送至Windows消息推送服務(wù);利用所述Windows消息推送服務(wù)將所述第一消息彈出在Modern桌面上。
[0130]根據(jù)本發(fā)明實(shí)施例所述的裝置,其中,所述消息彈出單元,還適于在將所述第一消息發(fā)送至Windows消息推送服務(wù)之前,查詢所述Windows消息推送服務(wù)在啟動時需要生成的預(yù)定窗口是否創(chuàng)建成功,當(dāng)該預(yù)定窗口創(chuàng)建成功時,確認(rèn)Windows消息推送服務(wù)啟動成功。
[0131]根據(jù)本發(fā)明實(shí)施例所述的裝置,其中,所述消息彈出單元,還適于輪詢系統(tǒng)中已經(jīng)創(chuàng)建成功的窗口中是否包括第一窗口標(biāo)識的窗口,若是,則確認(rèn)所述預(yù)定窗口創(chuàng)建成功。
[0132]根據(jù)本發(fā)明實(shí)施例所述的裝置,其中,所述消息彈出單元,還適于在預(yù)定時間段內(nèi),當(dāng)監(jiān)測到彈出錯誤消息時,利用所述Windows消息推送服務(wù)重發(fā)所述第一消息,直至所述第一消息彈出成功。
[0133]根據(jù)本發(fā)明實(shí)施例所述的裝置,其中,所述裝置還包括展示單元,適于將系統(tǒng)本次的開機(jī)時間展示在本次開機(jī)的特定開機(jī)界面上,以將本次的開機(jī)時間通知給用戶。
[0134]在此提供的算法和顯示不與任何特定計算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
[0135]在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
[0136]類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實(shí)施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實(shí)施例的所有特征。因此,遵循【具體實(shí)施方式】的權(quán)利要求書由此明確地并入該【具體實(shí)施方式】,其中每個權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
[0137]本領(lǐng)域那些技術(shù)人員可以理解,可以對實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實(shí)施例不同的一個或多個設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
[0138]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。
[0139]本發(fā)明的各個部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個或者多個處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號處理器(DSP)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的計算機(jī)操作系統(tǒng)開機(jī)時間的獲取裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計算機(jī)程序和計算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲在計算機(jī)可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
[0140]應(yīng)該注意的是上述實(shí)施例對本發(fā)明進(jìn)行說明而不是對本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
【權(quán)利要求】
1.一種計算機(jī)操作系統(tǒng)開機(jī)時間的獲取方法,包括: 在用戶成功登錄計算機(jī)操作系統(tǒng)后,判斷當(dāng)前的開機(jī)啟動模式; 根據(jù)判斷出的開機(jī)啟動模式,獲取從開機(jī)到用戶登錄成功之間的第一時間;以及, 根據(jù)獲知的本次開機(jī)的特定開機(jī)界面,獲取從用戶登錄成功到該特定開機(jī)界面加載成功的第二時間; 由所述第一時間和第二時間獲取系統(tǒng)本次的開機(jī)時間。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述根據(jù)判斷出的開機(jī)啟動模式,獲取從開機(jī)到用戶登錄成功之間的第一時間包括: 若開機(jī)啟動模式為冷啟動,調(diào)用系統(tǒng)提供的第一接口獲取所述第一時間; 若開機(jī)啟動模式為熱啟 動,從系統(tǒng)注冊表的預(yù)定鍵值存儲的數(shù)據(jù)中獲取所述第一時間。
3.根據(jù)權(quán)利要求1所述的方法,其中,所述根據(jù)獲知的本次開機(jī)的特定開機(jī)界面,獲取從用戶登錄成功到該特定開機(jī)界面加載成功的第二時間包括: 將系統(tǒng)設(shè)置中默認(rèn)的開機(jī)界面作為所述特定開機(jī)界面;或者, 在開機(jī)導(dǎo)航界面上向用戶展示系統(tǒng)支持的開機(jī)界面,接收用戶返回的選取命令,將該選取命令對應(yīng)的開機(jī)界面作為所述特定開機(jī)界面。
4.根據(jù)權(quán)利要求1所述的方法,其中,所述根據(jù)獲知的本次開機(jī)的特定開機(jī)界面,獲取從用戶登錄成功到該特定開機(jī)界面加載成功的第二時間包括: 將檢測到用戶登錄成功消息的時間點(diǎn)作為所述第二時間的起始點(diǎn); 調(diào)用系統(tǒng)中的第二預(yù)定接口監(jiān)測當(dāng)前界面顯示出的信息,以及,將當(dāng)前界面顯示出的信息轉(zhuǎn)換為所述特定開機(jī)界面的時間點(diǎn)作為所述第二時間的終止點(diǎn); 由所述起始點(diǎn)和終止點(diǎn)之間的時間間隔獲取所述第二時間。
5.根據(jù)權(quán)利要求1所述的方法,其中,所述判斷當(dāng)前的開機(jī)啟動模式包括: 調(diào)用系統(tǒng)中的第三預(yù)定接口獲取預(yù)定參數(shù); 當(dāng)所述預(yù)定參數(shù)為第一數(shù)值時,判定當(dāng)前的開機(jī)啟動模式為冷啟動,當(dāng)所述預(yù)定參數(shù)不是第一數(shù)值時,判定當(dāng)前的開機(jī)啟動模式為熱啟動。
6.根據(jù)權(quán)利要求1所述的方法,其中,在由所述第一時間和第二時間獲取系統(tǒng)本次的開機(jī)時間之后,所述方法還包括: 將系統(tǒng)本次的開機(jī)時間展示在本次開機(jī)的特定開機(jī)界面上,以將本次的開機(jī)時間通知給用戶。
7.根據(jù)權(quán)利要求1所述的方法,其中,所述方法還包括: 當(dāng)所述特定開機(jī)界面為Modern桌面時,調(diào)用系統(tǒng)的Windows運(yùn)行包WinRT提供的API創(chuàng)建第一消息,所述第一消息至少包括所述系統(tǒng)本次的開機(jī)時間; 將所述第一消息發(fā)送至Windows消息推送服務(wù); 利用所述Windows消息推送服務(wù)將所述第一消息彈出在Modern桌面上。
8.根據(jù)權(quán)利要求7所述的方法,其中,在將所述第一消息發(fā)送至Windows消息推送服務(wù)之前,所述方法還包括: 查詢所述Windows消息推送服務(wù)在啟動時需要生成的預(yù)定窗口是否創(chuàng)建成功,當(dāng)該預(yù)定窗口創(chuàng)建成功時,確認(rèn)Windows消息推送服務(wù)啟動成功。
9.根據(jù)權(quán)利要求8所述的方法,其中,所述查詢預(yù)定窗口是否創(chuàng)建成功包括: 輪詢系統(tǒng)中已經(jīng)創(chuàng)建成功的窗口中是否包括第一窗口標(biāo)識的窗口,若是,則確認(rèn)所述預(yù)定窗口創(chuàng)建成功。
10.根據(jù)權(quán)利要求7所述的方法,其中,所述利用所述Windows消息推送服務(wù)將所述第一消息彈出在Modern桌面上包括: 在預(yù)定時間段內(nèi),當(dāng)監(jiān)測到彈出錯誤消息時,利用所述Windows消息推送 服務(wù)重發(fā)所述第一消息,直至所述第一消息彈出成功。
【文檔編號】G06F11/34GK103488557SQ201310381593
【公開日】2014年1月1日 申請日期:2013年8月28日 優(yōu)先權(quán)日:2013年8月28日
【發(fā)明者】姜陽陽, 高日新, 湯迪斌 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司