亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于操作系統(tǒng)的程序自啟動(dòng)方法和裝置的制造方法

文檔序號(hào):10569765閱讀:178來源:國知局
一種基于操作系統(tǒng)的程序自啟動(dòng)方法和裝置的制造方法
【專利摘要】本發(fā)明公開了一種基于操作系統(tǒng)的程序自啟動(dòng)方法和裝置。該方法包括:基于操作系統(tǒng)管理工具的核心組件監(jiān)測(cè)設(shè)定消息事件是否被觸發(fā);如果設(shè)定消息事件被觸發(fā),則基于核心組件判斷設(shè)定消息事件是否存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件;如果存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件,則基于操作系統(tǒng)管理工具調(diào)用所述動(dòng)態(tài)鏈接庫文件的公共接口;通過公共接口運(yùn)行動(dòng)態(tài)鏈接庫文件中包含的操作系統(tǒng)管理工具提供者,并基于操作系統(tǒng)管理工具提供者中包含的邏輯語句確定是否自啟動(dòng)設(shè)定的程序。利用該方法,保證了設(shè)定的程序僅在符合啟動(dòng)條件時(shí)才自啟動(dòng),有效縮短了電子設(shè)備的開機(jī)時(shí)間,也降低了對(duì)系統(tǒng)資源的占用;此外,還避免了安全類軟件對(duì)所設(shè)定的程序自啟動(dòng)的監(jiān)管。
【專利說明】
一種基于操作系統(tǒng)的程序自啟動(dòng)方法和裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明實(shí)施例涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,尤其涉及一種基于操作系統(tǒng)的程序自啟動(dòng)方法和裝置。
【背景技術(shù)】
[0002]隨著時(shí)代的進(jìn)步和科技的發(fā)展,操作系統(tǒng)應(yīng)用已廣為人知,操作系統(tǒng)通常安裝于電腦、筆記本或移動(dòng)終端等電子設(shè)備中,為人們的上網(wǎng)、聊天等功能的程序提供一個(gè)基本操作平臺(tái)。
[0003]現(xiàn)有技術(shù)中,對(duì)于安裝了操作系統(tǒng)的電子設(shè)備來說,在對(duì)該電子設(shè)備中的程序進(jìn)行自啟動(dòng)操作時(shí),通常采用兩種方式,一種是直接向操作系統(tǒng)的注冊(cè)表啟動(dòng)項(xiàng)中寫入需要自啟動(dòng)的程序執(zhí)行命令,在操作系統(tǒng)啟動(dòng)之后開始執(zhí)行上述執(zhí)行命令,由此啟動(dòng)對(duì)應(yīng)的程序。另一種是為需要啟動(dòng)的程序向系統(tǒng)注冊(cè)一個(gè)相關(guān)聯(lián)的服務(wù)進(jìn)程,并把該服務(wù)進(jìn)程設(shè)置為自啟動(dòng),由此在系統(tǒng)啟動(dòng)后自啟動(dòng)上述服務(wù)項(xiàng),然后該服務(wù)進(jìn)程發(fā)現(xiàn)滿足啟動(dòng)關(guān)聯(lián)程序的條件后,啟動(dòng)程序。上述程序自啟動(dòng)的兩種方式,其啟動(dòng)特點(diǎn)可以概括為:在操作系統(tǒng)完成啟動(dòng)后,自啟動(dòng)程序或自啟動(dòng)與程序關(guān)聯(lián)的服務(wù)進(jìn)程,以保持程序本身或協(xié)助程序啟動(dòng)的服務(wù)一直處于運(yùn)行狀態(tài)。
[0004]上述程序自啟動(dòng)的方式,存在以下不足:I)總是在系統(tǒng)啟動(dòng)后自啟動(dòng)程序或服務(wù)進(jìn)程,影響了設(shè)備的開機(jī)時(shí)間,且程序自啟動(dòng)后無論是否用到該程序,程序都會(huì)一直存在于進(jìn)程中,造成系統(tǒng)資源的過多占用;2)上述啟動(dòng)方式容易被安全類軟件監(jiān)管,該類軟件很容易捕捉到自啟動(dòng)的程序和注冊(cè)的服務(wù),該類軟件會(huì)修改程序或服務(wù)進(jìn)程的自啟動(dòng)配置文件,并在系統(tǒng)再次開啟后,阻止上述自啟動(dòng)配置文件的數(shù)據(jù)還原操作,由此使得程序或服務(wù)進(jìn)程無法基于配置文件自啟動(dòng)。

【發(fā)明內(nèi)容】

[0005]本發(fā)明提供了一種基于操作系統(tǒng)的程序自啟動(dòng)方法和裝置。以優(yōu)化操作系統(tǒng)下現(xiàn)有的程序自啟動(dòng)操作,從而降低系統(tǒng)資源利用率,縮短電子設(shè)備開機(jī)時(shí)間。
[0006]本發(fā)明實(shí)施例采用以下技術(shù)方案:
[0007]第一方面,本發(fā)明實(shí)施例提供了一種基于操作系統(tǒng)的程序自啟動(dòng)方法,該方法包括:
[0008]基于操作系統(tǒng)管理工具的核心組件監(jiān)測(cè)設(shè)定消息事件是否被觸發(fā);
[0009]如果所述設(shè)定消息事件被觸發(fā),則基于所述核心組件判斷所述設(shè)定消息事件在所述操作系統(tǒng)管理工具中是否存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件;
[0010]如果存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件,則基于所述操作系統(tǒng)管理工具調(diào)用所述動(dòng)態(tài)鏈接庫文件的公共接口 ;
[0011]通過所述公共接口運(yùn)行所述動(dòng)態(tài)鏈接庫文件中包含的操作系統(tǒng)管理工具提供者,并基于所述操作系統(tǒng)管理工具提供者中包含的邏輯語句確定是否自啟動(dòng)設(shè)定的程序。
[0012]第二方面,本發(fā)明實(shí)施例還提供了一種基于操作系統(tǒng)的程序自啟動(dòng)裝置,該裝置包括:
[0013]消息觸發(fā)監(jiān)測(cè)模塊,用于基于操作系統(tǒng)管理工具的核心組件監(jiān)測(cè)設(shè)定消息事件是否被觸發(fā);
[0014]關(guān)聯(lián)文件判定模塊,用于當(dāng)所述設(shè)定消息事件被觸發(fā)時(shí),基于所述核心組件判斷所述設(shè)定消息事件在所述操作系統(tǒng)管理工具中是否存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件;
[0015]公共接口調(diào)用模塊,用于當(dāng)存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件時(shí),則基于所述操作系統(tǒng)管理工具調(diào)用所述動(dòng)態(tài)鏈接庫文件的公共接口 ;
[0016]程序自啟動(dòng)確定模塊,用于通過所述公共接口運(yùn)行所述動(dòng)態(tài)鏈接庫文件中包含的操作系統(tǒng)管理工具提供者,并基于所述操作系統(tǒng)管理工具提供者中包含的邏輯語句確定是否自啟動(dòng)設(shè)定的程序。
[0017]本發(fā)明實(shí)施例提供的一種基于操作系統(tǒng)的程序自啟動(dòng)方法和裝置,該方法的實(shí)現(xiàn)可描述為:首先基于操作系統(tǒng)管理工具的核心組件監(jiān)測(cè)所設(shè)定的消息事件是否被觸發(fā),如果被觸發(fā),就基于核心組件判斷該消息事件是否存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件;隨后,如果存在關(guān)聯(lián)動(dòng)態(tài)鏈接庫文件,就基于該操作系統(tǒng)管理工具調(diào)用該關(guān)聯(lián)動(dòng)態(tài)鏈接庫文件的公共接口并通過該公共接口運(yùn)行該動(dòng)態(tài)鏈接庫文件中包含操作系統(tǒng)管理工具提供者,最終基于所述操作系統(tǒng)管理工具提供者中包含的邏輯語句確定是否自啟動(dòng)設(shè)定的程序。利用該方法,保證了程序僅在符合啟動(dòng)條件時(shí)才自啟動(dòng),有效縮短了電子設(shè)備的開機(jī)時(shí)間,同時(shí)也降低了對(duì)系統(tǒng)資源的占用;此外,安全類軟件無法監(jiān)管注冊(cè)于操作系統(tǒng)管理工具中的消息事件,因此基于該消息事件所關(guān)聯(lián)的操作系統(tǒng)管理工具提供者不會(huì)被安全類軟件禁止運(yùn)行,進(jìn)而避免了安全類軟件對(duì)所設(shè)定程序自啟動(dòng)的監(jiān)管。
【附圖說明】
[0018]圖1為本發(fā)明實(shí)施例一提供的一種基于操作系統(tǒng)的程序自啟動(dòng)方法的流程圖;
[0019]圖2a為本發(fā)明實(shí)施例二提供的一種基于操作系統(tǒng)的程序自啟動(dòng)方法的流程圖;
[0020]圖2b為本發(fā)明實(shí)施例二提供的注冊(cè)設(shè)定消息事件的流程圖;
[0021]圖3為本發(fā)明實(shí)施例三提供的一種基于操作系統(tǒng)的程序自啟動(dòng)方法的流程圖;
[0022]圖4a為本發(fā)明實(shí)施例四提供的一種基于操作系統(tǒng)的程序自啟動(dòng)方法的優(yōu)選實(shí)施例;
[0023]圖4b為本發(fā)明實(shí)施例四提供的Windows操作系統(tǒng)的Windows管理工具的架構(gòu)圖;
[0024]圖5為本發(fā)明實(shí)施例五提供的一種基于操作系統(tǒng)的程序自啟動(dòng)裝置的結(jié)構(gòu)框圖;
[0025]圖6為本發(fā)明實(shí)施例六提供的一種基于操作系統(tǒng)的程序自啟動(dòng)裝置的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0026]下面結(jié)合附圖并通過【具體實(shí)施方式】來進(jìn)一步說明本發(fā)明的技術(shù)方案。可以理解的是,此處所描述的具體實(shí)施例僅僅用于解釋本發(fā)明,而非對(duì)本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部?jī)?nèi)容。在更加詳細(xì)地討論示例性實(shí)施例之前應(yīng)當(dāng)提到的是,一些示例性實(shí)施例被描述成作為流程圖描繪的處理或方法。雖然流程圖將各項(xiàng)操作(或步驟)描述成順序的處理,但是其中的許多操作可以被并行地、并發(fā)地或者同時(shí)實(shí)施。此外,各項(xiàng)操作的順序可以被重新安排。當(dāng)其操作完成時(shí)所述處理可以被終止,但是還可以具有未包括在附圖中的附加步驟。所述處理可以對(duì)應(yīng)于方法、函數(shù)、規(guī)程、子例程、子程序等等。
[0027]實(shí)施例一
[0028]圖1為本發(fā)明實(shí)施例一提供的一種基于操作系統(tǒng)的程序自啟動(dòng)方法的流程圖,該方法適用于基于操作系統(tǒng)的管理工具對(duì)安裝在電子設(shè)備中的程序進(jìn)行自啟動(dòng)確定的情況,可以由基于操作系統(tǒng)的程序自啟動(dòng)裝置執(zhí)行,其中該裝置可由軟件和/或硬件實(shí)現(xiàn),并一般集成于電子設(shè)備中。
[0029]如圖1所示,本發(fā)明實(shí)施例一提供的一種基于操作系統(tǒng)的程序自啟動(dòng)方法,具體包括如下操作:
[0030]S110、基于操作系統(tǒng)管理工具的核心組件監(jiān)測(cè)設(shè)定消息事件是否被觸發(fā)。
[0031 ] 一般地,操作系統(tǒng)可理解為直接運(yùn)行在“裸機(jī)”上的基本系統(tǒng)軟件,是支持其他軟件運(yùn)行的基本平臺(tái),所謂“裸機(jī)”可理解為僅有硬件沒有軟件支持的電子設(shè)備。常見的操作系統(tǒng)有Windows系統(tǒng)、1S系統(tǒng)、Android系統(tǒng)以及Linux系統(tǒng)等。所述操作系統(tǒng)管理工具可理解為用于管理本地或遠(yuǎn)程電子設(shè)備的服務(wù)插件,示例性的,如作用于Linux系統(tǒng)的Iandscapel.5,可以監(jiān)控和管理Linux的服務(wù)器;如作用于Windows系統(tǒng)的Windows管理工具(Windows Management Instrumentat1n,WMI)可以監(jiān)控和管理安裝Windows系統(tǒng)的電子設(shè)備中的硬件或軟件。需要說明的是,本實(shí)施例的技術(shù)方案優(yōu)選考慮在安裝Windows系統(tǒng)的電子設(shè)備上的應(yīng)用。
[0032]在本實(shí)施例中,所述操作系統(tǒng)管理工具的結(jié)構(gòu)可概括為3部分:I)操作系統(tǒng)管理工具的使用者,2)操作系統(tǒng)管理工具的基礎(chǔ)組件,以及3)操作系統(tǒng)管理工具的提供者。具體的,所述操作系統(tǒng)管理工具的使用者可理解為對(duì)管理工具中各項(xiàng)技術(shù)的使用載體,對(duì)于程序開發(fā)人員來說可以通過所提供的技術(shù)進(jìn)行數(shù)據(jù)查詢以及增、刪或改等操作;所述操作系統(tǒng)管理工具的基礎(chǔ)組件包括核心組件和存儲(chǔ)組件,所述核心組件可用于控制操作系統(tǒng)管理工具的使用者和提供者,并可作為系統(tǒng)管理工具的使用者和提供者進(jìn)行信息交互的傳遞者,為二者的數(shù)據(jù)通信提供服務(wù),此外,核心組件自身還可用于監(jiān)測(cè)消息事件,確定消息事件的觸發(fā)時(shí)機(jī);所述操作系統(tǒng)管理工具的存儲(chǔ)組件可用于存儲(chǔ)操作系統(tǒng)管理所需的數(shù)據(jù)信息;所述操作系統(tǒng)管理工具的提供者可理解為數(shù)據(jù)信息的提供者,一般依賴于動(dòng)態(tài)鏈接庫文件實(shí)現(xiàn)邏輯數(shù)據(jù)信息的執(zhí)行。
[0033]在本實(shí)施例中,基于操作系統(tǒng)管理工具的核心組件監(jiān)測(cè)所設(shè)定消息事件是否被觸發(fā)。具體的,所述設(shè)定消息事件可理解為安裝有操作系統(tǒng)的電子設(shè)備的硬件或軟件可能會(huì)發(fā)生的事件,示例性的,如電子設(shè)備的電池可能會(huì)發(fā)生剩余電量為20%的事件,又如電子設(shè)備的通用串行總線(Universal Serial Bus ,USB)插口可能會(huì)發(fā)生USB設(shè)備的接入事件,又或者電子設(shè)備中安裝的上網(wǎng)客戶端可能會(huì)發(fā)生接收用戶的點(diǎn)擊指令進(jìn)入互聯(lián)網(wǎng)的事件。上述事件都可作為設(shè)定消息事件。在本實(shí)施例中,所述設(shè)定消息事件存在于操作系統(tǒng)管理工具中,所述設(shè)定消息事件的觸發(fā)與否可基于操作系統(tǒng)管理工具的核心組件來實(shí)時(shí)監(jiān)控。
[0034]S120、如果所述設(shè)定消息事件被觸發(fā),則基于所述核心組件判斷所述設(shè)定消息事件在所述操作系統(tǒng)管理工具中是否存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件。
[0035]在本實(shí)施例中,如果監(jiān)測(cè)到設(shè)定的消息事件被觸發(fā)(示例性的,如監(jiān)測(cè)到設(shè)定的電子設(shè)備電池剩余電量達(dá)到觸發(fā)值,所述觸發(fā)值可以設(shè)定為總電量的20%),則可基于操作系統(tǒng)管理工具的核心組件判斷該設(shè)定消息事件在該操作系統(tǒng)管理工具中是否存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件。
[0036]在本實(shí)施例中,所設(shè)定的消息事件僅起到對(duì)所關(guān)聯(lián)動(dòng)態(tài)鏈接庫文件的觸發(fā)作用,即可理解為當(dāng)所設(shè)定的消息事件被觸發(fā)后,與所述消息事件關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件就得到了一個(gè)被運(yùn)行的機(jī)會(huì);相應(yīng)的,如果所設(shè)定的消息事件沒有被觸發(fā),與所述消息事件關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件就不會(huì)被運(yùn)行。具體的,在本實(shí)施例中,所述動(dòng)態(tài)鏈接庫文件可理解為包含操作系統(tǒng)管理工具提供者的能夠基于操作系統(tǒng)管理工具調(diào)用公共接口運(yùn)行的邏輯載體文件。
[0037]在本實(shí)施例中,所述動(dòng)態(tài)鏈接庫文件可認(rèn)為是包含操作系統(tǒng)管理工具提供者的邏輯載體,其具體的邏輯執(zhí)行語句包含在對(duì)應(yīng)的操作系統(tǒng)管理工具提供者中,所述邏輯執(zhí)行語句一般可基于所關(guān)聯(lián)的設(shè)定消息事件實(shí)際設(shè)定。
[0038]S130、如果存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件,則基于所述操作系統(tǒng)管理工具調(diào)用所述動(dòng)態(tài)鏈接庫文件的公共接口。
[0039]在本實(shí)施例中,操作系統(tǒng)管理工具核心組件對(duì)是否存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件進(jìn)行判斷確定后,如果存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件,并不能直接執(zhí)行所關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件,而是需要基于操作系統(tǒng)管理工具調(diào)用所述動(dòng)態(tài)鏈接庫文件對(duì)應(yīng)的公共接口,通過所對(duì)應(yīng)的公共接口來實(shí)現(xiàn)操作系統(tǒng)管理工具核心組件與動(dòng)態(tài)鏈接庫文件所包含的操作系統(tǒng)管理工具提供者之間的信息交互,從而達(dá)到執(zhí)行操作系統(tǒng)管理工具提供者的目的。
[0040]需要說明的是,在操作系統(tǒng)管理工具中,操作系統(tǒng)管理工具基礎(chǔ)組件(主要指基礎(chǔ)組件中的核心組件)對(duì)外所提供的服務(wù)都要通過對(duì)公共接口的調(diào)用來實(shí)現(xiàn)。一般地,操作系統(tǒng)管理工具需要為提供的服務(wù)對(duì)應(yīng)一個(gè)用于調(diào)用的公共接口,不同的服務(wù)一般對(duì)應(yīng)的公共接口 id不同。
[0041]S140、通過所述公共接口運(yùn)行所述動(dòng)態(tài)鏈接庫文件中包含的操作系統(tǒng)管理工具提供者,并基于所述操作系統(tǒng)管理工具提供者中包含的邏輯語句確定是否自啟動(dòng)設(shè)定的程序。
[0042]在本實(shí)施例中,當(dāng)所述設(shè)定消息事件存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件,并通過操作系統(tǒng)管理工具調(diào)用所述動(dòng)態(tài)鏈接庫文件的公共接口后,可通過所調(diào)用的公共接口運(yùn)行所述動(dòng)態(tài)鏈接庫文件中所包含的操作系統(tǒng)管理工具提供者??梢岳斫獾氖?,所述動(dòng)態(tài)鏈接庫文件中操作系統(tǒng)管理工具提供者包含的內(nèi)容可以是對(duì)消息事件觸發(fā)結(jié)果進(jìn)行的一些邏輯判斷,主要通過執(zhí)行所述操作系統(tǒng)管理工具提供者的邏輯語句實(shí)現(xiàn),其邏輯語句的內(nèi)容一般與所述消息事件被觸發(fā)后的觸發(fā)結(jié)果存在一定的聯(lián)系。所設(shè)定的邏輯語句一般為對(duì)所述觸發(fā)結(jié)果的判定語句,以及各判定結(jié)果所對(duì)應(yīng)的執(zhí)行語句。例如,判定語句可設(shè)定為:判定電子設(shè)備電池剩余電量是否不高于20%,在不高于20%時(shí)所對(duì)應(yīng)的執(zhí)行語句可以自啟動(dòng)所設(shè)定的程序。
[0043]在本實(shí)施例中,設(shè)定的程序可以是用戶在上次使用操作系統(tǒng)時(shí)提前設(shè)定的自啟動(dòng)程序,如用戶在安裝或使用程序過程中對(duì)程序進(jìn)行自啟動(dòng)設(shè)置,設(shè)定的程序也可以是操作系統(tǒng)默認(rèn)自啟動(dòng)的程序。示例性的,設(shè)定的程序可以是諸如安全管家、安全衛(wèi)士和手機(jī)助手之類的程序。
[0044]本實(shí)施例一的技術(shù)方案,首先基于操作系統(tǒng)管理工具的核心組件監(jiān)測(cè)設(shè)定消息事件是否被觸發(fā),并在被觸發(fā)后仍基于其核心組件判定設(shè)定消息事件是否存在關(guān)聯(lián)動(dòng)態(tài)鏈接庫文件;之后,在確定存在關(guān)聯(lián)動(dòng)態(tài)鏈接庫文件時(shí),基于操作系統(tǒng)管理工具調(diào)用該關(guān)聯(lián)動(dòng)態(tài)鏈接庫文件對(duì)應(yīng)的公共接口;然后通過公共接口運(yùn)行動(dòng)態(tài)鏈接庫文件中所包含操作系統(tǒng)管理工具的提供者的邏輯語句;最終通過所執(zhí)行的邏輯語句確定是否自啟動(dòng)設(shè)定的程序。利用該方法,與現(xiàn)有的程序自啟動(dòng)方法相比,不會(huì)在操作系統(tǒng)啟動(dòng)后直接啟動(dòng)程序的關(guān)聯(lián)服務(wù)進(jìn)程或基于注冊(cè)表啟動(dòng)項(xiàng)直接啟動(dòng)程序,由此大大節(jié)省了電子設(shè)備的開機(jī)時(shí)間,同時(shí)減小了所占用運(yùn)行內(nèi)存的大小并降低了操作系統(tǒng)資源的消耗;此外,由于程序的自啟動(dòng)不基于注冊(cè)表啟動(dòng)項(xiàng)或相關(guān)服務(wù)進(jìn)程,就不會(huì)出現(xiàn)被安全類軟件設(shè)置為禁止啟動(dòng)的情況,保證了設(shè)定的程序自啟動(dòng)有效進(jìn)行。
[0045]實(shí)施例二
[0046]圖2a為本發(fā)明實(shí)施例二提供的一種基于操作系統(tǒng)的程序自啟動(dòng)方法的流程圖。本發(fā)明實(shí)施例以上述實(shí)施例為基礎(chǔ)進(jìn)行優(yōu)化,在本實(shí)施例中,在“基于操作系統(tǒng)管理工具的核心組件監(jiān)測(cè)設(shè)定消息事件是否被觸發(fā)”之前,還優(yōu)選包括了:注冊(cè)所述設(shè)定消息事件信息到所述操作系統(tǒng)管理工具,其中,所述設(shè)定消息事件信息包括所述設(shè)定消息事件及與所述設(shè)定消息事件關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件名。
[0047]如圖2a所示,本發(fā)明實(shí)施例二提供的一種基于操作系統(tǒng)的程序自啟動(dòng)方法,具體包括如下操作:
[0048]S210、注冊(cè)所述設(shè)定消息事件信息到所述操作系統(tǒng)管理工具。
[0049]在本實(shí)施例中,所述設(shè)定消息事件信息包括所述設(shè)定消息事件及與所述設(shè)定消息事件關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件名。
[0050]在本實(shí)施例中,操作系統(tǒng)管理工具的核心組件所監(jiān)控的設(shè)定消息事件一般需要提前注冊(cè)到操作系統(tǒng)管理工具,由此才能保證所述核心組件對(duì)設(shè)定消息事件的實(shí)時(shí)監(jiān)控。因此,可通過執(zhí)行S210來實(shí)現(xiàn)設(shè)定消息事件到操作系統(tǒng)管理工具的注冊(cè)。
[0051]具體的,注冊(cè)到操作系統(tǒng)管理工具的信息一般包括設(shè)定的消息事件自身,以及與該設(shè)定消息事件存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件名,上述信息統(tǒng)稱為設(shè)定消息事件信息,由此才能保證所述核心組件判斷設(shè)定消息事件是否存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件。對(duì)于設(shè)定消息事件信息到所述操作系統(tǒng)管理工具的注冊(cè)過程可基于構(gòu)建的特定格式的描述文件來基于操作系統(tǒng)自帶的解析工具來實(shí)現(xiàn)。
[0052]進(jìn)一步的,圖2b為本發(fā)明實(shí)施例二提供的注冊(cè)設(shè)定消息事件的流程圖,如圖2b所示,注冊(cè)設(shè)定消息事件具體可以包括:
[0053]S2101、構(gòu)造所述設(shè)定消息事件的描述文件。
[0054]在本實(shí)施例中,所述描述文件具體可理解為包含所述設(shè)定消息事件信息的用于向操作系統(tǒng)管理工具進(jìn)行注冊(cè)的可執(zhí)行文件。在所述描述文件中,可基于特定的編程語言實(shí)現(xiàn)對(duì)所述設(shè)定消息事件對(duì)象、實(shí)例以及所需數(shù)組或篩選器的構(gòu)建,由此形成特定格式的描述文件。示例性的,在Windows系統(tǒng)中,所構(gòu)造的描述文件的格式一般為.mof格式,在描述文件中存在與設(shè)定消息事件相關(guān)的方法函數(shù)等。
[0055]S2102、基于操作系統(tǒng)的特定解析工具解析所述描述文件,并獲取所述描述文件中包含設(shè)定消息事件信息。
[0056]在本實(shí)施例中,對(duì)于S2101構(gòu)造生成的描述文件,可通過調(diào)用操作系統(tǒng)中自帶的特定解析工具來解析上述描述文件。示例性的,在Windows系統(tǒng)中,該特定解析工具主要由微軟公司提供,集成在Windows系統(tǒng)中。在本實(shí)施例中,在通過調(diào)用特定解析工具解析所述描述文件后,特定解析工具可從所述描述文件中獲取需要的設(shè)定消息事件信息。
[0057]S2103、依據(jù)所述特定解析工具將所述設(shè)定消息事件信息注冊(cè)到所述操作系統(tǒng)管理工具中。
[0058]在本實(shí)施例中,所述特定解析工具將解析到的設(shè)定消息事件信息交互給操作系統(tǒng)管理工具,由此實(shí)現(xiàn)所述設(shè)定消息事件信息到所述操作系統(tǒng)管理工具的注冊(cè),具體的,一般將所述設(shè)定消息事件信息注冊(cè)到操作系統(tǒng)管理工具的存儲(chǔ)組件中。示例性的,在Windows系統(tǒng)下,其管理工具WMI的基礎(chǔ)組件中,存在WMI核心組件以及WMI存儲(chǔ)組件兩個(gè)模塊,在調(diào)用微軟提供的特定解析工具實(shí)現(xiàn)對(duì)描述文件的解析后,將獲得的設(shè)定消息事件信息交互給WMI的基礎(chǔ)組件,并存儲(chǔ)到WMI存儲(chǔ)組件中,由此實(shí)現(xiàn)設(shè)定消息事件到WMI的注冊(cè)。
[0059]S220、基于操作系統(tǒng)管理工具的核心組件監(jiān)測(cè)設(shè)定消息事件是否被觸發(fā)。
[0060]S230、如果所述設(shè)定消息事件被觸發(fā),則基于所述核心組件判斷所述設(shè)定消息事件在所述操作系統(tǒng)管理工具中是否存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件。
[0061]S240、如果存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件,則基于所述操作系統(tǒng)管理工具調(diào)用所述動(dòng)態(tài)鏈接庫文件的公共接口。
[0062]S250、通過所述公共接口運(yùn)行所述動(dòng)態(tài)鏈接庫文件中包含的操作系統(tǒng)管理工具提供者,并基于所述操作系統(tǒng)管理工具提供者中包含的邏輯語句確定是否自啟動(dòng)設(shè)定的程序。
[0063]在本實(shí)施例中,S220?S250的實(shí)現(xiàn)過程已在上述實(shí)施例一中具體描述,這里不再詳述。
[0064]本實(shí)施例二的技術(shù)方案,在實(shí)施例一的基礎(chǔ)上優(yōu)化增加了對(duì)設(shè)定消息事件的注冊(cè)操作。該注冊(cè)操作將設(shè)定消息事件直接注冊(cè)到操作系統(tǒng)管理工具中,并通過操作系統(tǒng)管理工具的核心組件直接監(jiān)測(cè)消息事件是否觸發(fā),然后在消息事件觸發(fā)后為該消息事件關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件提供一次運(yùn)行機(jī)會(huì),由此基于動(dòng)態(tài)鏈接庫文件中提供者包含的邏輯語句確定程序是否自啟動(dòng)。利用該方法,直接將設(shè)定消息事件注冊(cè)于操作系統(tǒng)管理工具中,實(shí)現(xiàn)了操作系統(tǒng)管理工具的核心組件對(duì)消息事件的監(jiān)控,由于安全類軟件不能對(duì)操作系統(tǒng)的管理工具進(jìn)行監(jiān)管,使得安全類軟件無法監(jiān)管設(shè)定消息事件,因此保證了基于該消息事件所運(yùn)行的操作系統(tǒng)管理工具提供者不會(huì)被安全類軟件禁止啟動(dòng),進(jìn)而保證了設(shè)定的程序能夠正常的進(jìn)行自啟動(dòng),提升了用戶體驗(yàn)。
[0065]實(shí)施例三
[0066]圖3為本發(fā)明實(shí)施例三提供的一種基于操作系統(tǒng)的程序自啟動(dòng)方法的流程圖。本發(fā)明實(shí)施例三以上述實(shí)施例二為基礎(chǔ)進(jìn)行優(yōu)化,在本實(shí)施例中,在“注冊(cè)所述設(shè)定消息事件信息到所述操作系統(tǒng)管理工具”之后,還包括:創(chuàng)建所述設(shè)定消息事件關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件,并在所述動(dòng)態(tài)鏈接庫文件中構(gòu)建一個(gè)操作系統(tǒng)管理工具提供者,其中,所述操作系統(tǒng)管理工具提供者中包含可執(zhí)行的邏輯語句;注冊(cè)所述動(dòng)態(tài)鏈接庫文件的文件信息到操作系統(tǒng)注冊(cè)表,其中,所述文件信息包括:所述動(dòng)態(tài)鏈接庫文件的文件名、存儲(chǔ)位置以及所述動(dòng)態(tài)鏈接庫文件關(guān)聯(lián)的操作系統(tǒng)管理工具公共接口 id。
[0067]進(jìn)一步的,還將步驟“基于所述操作系統(tǒng)管理工具提供者中包含的邏輯語句確定是否自啟動(dòng)設(shè)定的程序”具體優(yōu)化為:基于所述操作系統(tǒng)管理工具提供者判定所述設(shè)定消息事件的觸發(fā)結(jié)果是否滿足設(shè)定的程序的啟動(dòng)條件;如果所述觸發(fā)結(jié)果滿足所述啟動(dòng)條件,則自啟動(dòng)所述設(shè)定的程序。
[0068]如圖3所示,本發(fā)明實(shí)施例三提供的一種基于操作系統(tǒng)的程序自啟動(dòng)方法,具體包括如下操作:
[0069]S310、注冊(cè)所述設(shè)定消息事件信息到所述操作系統(tǒng)管理工具。
[0070]在本實(shí)施例中,S310的實(shí)現(xiàn)過程已在上述實(shí)施例二中具體描述,這里不再詳述。進(jìn)一步的,在注冊(cè)所述設(shè)定消息事件信息到所述操作系統(tǒng)管理工具時(shí),也將與之關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件名信息注冊(cè)到操作系統(tǒng)管理工具。因此,可以為所述設(shè)定消息事件創(chuàng)建關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件,使得在設(shè)定消息事件被觸發(fā)時(shí),存在一個(gè)處理消息事件關(guān)聯(lián)服務(wù)的機(jī)會(huì)。
[0071]S320、創(chuàng)建所述設(shè)定消息事件關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件,并在所述動(dòng)態(tài)鏈接庫文件中構(gòu)建一個(gè)操作系統(tǒng)管理工具提供者。
[0072]在本實(shí)施例中,可以理解的是,操作系統(tǒng)管理工具對(duì)外提供的服務(wù)一般通過公共接口來實(shí)現(xiàn)。而調(diào)用公共接口執(zhí)行相應(yīng)服務(wù)(所執(zhí)行的服務(wù)一般認(rèn)為是操作系統(tǒng)管理工具提供者包含的邏輯語句)時(shí)一般需要使用動(dòng)態(tài)鏈接庫文件來做邏輯載體,因此,需要為可執(zhí)行的相應(yīng)服務(wù)構(gòu)建作為邏輯載體的動(dòng)態(tài)鏈接庫文件,且所述動(dòng)態(tài)鏈接庫文件需要與設(shè)定消息事件關(guān)聯(lián)。
[0073]在本實(shí)施例中,可在特定目錄下創(chuàng)建動(dòng)態(tài)鏈接庫文件,并以該動(dòng)態(tài)鏈接庫文件為邏輯載體在該文件中構(gòu)建一個(gè)作為操作系統(tǒng)管理工具服務(wù)的提供者,其中,該提供者中存在調(diào)用公共接口時(shí)可執(zhí)行的邏輯語句。
[0074]S330、注冊(cè)所述動(dòng)態(tài)鏈接庫文件的文件信息到操作系統(tǒng)注冊(cè)表。
[0075]在本實(shí)施例中,在創(chuàng)建好包含一個(gè)操作系統(tǒng)管理工具提供者的動(dòng)態(tài)鏈接庫文件后,需要將該動(dòng)態(tài)鏈接庫文件的文件信息注冊(cè)到操作系統(tǒng)的注冊(cè)表中,由此基于所述文件信息才能實(shí)現(xiàn)操作系統(tǒng)管理工具對(duì)該動(dòng)態(tài)鏈接庫文件所對(duì)應(yīng)公共接口的調(diào)用,一般地,可基于操作系統(tǒng)管理工具中的組件對(duì)象模型技術(shù)將所述動(dòng)態(tài)鏈接庫文件的文件信息注冊(cè)到操作系統(tǒng)注冊(cè)表。
[0076]在本實(shí)施例中,所述文件信息具體可包括所述動(dòng)態(tài)鏈接庫文件的文件名、存儲(chǔ)位置以及所述動(dòng)態(tài)鏈接庫文件關(guān)聯(lián)的操作系統(tǒng)管理工具公共接口 id,上述信息在操作系統(tǒng)管理工具中起到了信息索引的作用,示例性的,操作系統(tǒng)管理工具的核心組件基于文件名可確定是否是設(shè)定消息事件所關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件,還可基于關(guān)聯(lián)的公共接口 id實(shí)現(xiàn)操作系統(tǒng)管理工具對(duì)對(duì)應(yīng)公共接口的調(diào)用,也可基于存儲(chǔ)位置確定動(dòng)態(tài)鏈接庫文件由此實(shí)現(xiàn)所包含的操作系統(tǒng)管理工具提供者的執(zhí)行。
[0077]需要說明的是,動(dòng)態(tài)鏈接庫文件的文件信息是注冊(cè)到操作系統(tǒng)的注冊(cè)表中的,可在注冊(cè)時(shí)為其設(shè)置管理權(quán)限,以使得注冊(cè)到注冊(cè)表中的文件信息不能被安全類軟件修改,由此保證操作系統(tǒng)管理工具能夠基于所注冊(cè)的文件信息成功找到所需的信息。
[0078]S340、基于操作系統(tǒng)管理工具的核心組件監(jiān)測(cè)設(shè)定消息事件是否被觸發(fā)。
[0079]S350、如果所述設(shè)定消息事件被觸發(fā),則基于所述核心組件判斷所述設(shè)定消息事件在所述操作系統(tǒng)管理工具中是否存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件。
[0080] S360、如果存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件,則基于所述操作系統(tǒng)管理工具調(diào)用所述動(dòng)態(tài)鏈接庫文件的公共接口。
[0081 ] 在本實(shí)施例中,S340?S360的實(shí)現(xiàn)過程已在上述實(shí)施例一中具體描述,這里不再詳述。
[0082]S370、通過所述公共接口運(yùn)行所述動(dòng)態(tài)鏈接庫文件中包含的操作系統(tǒng)管理工具提供者。
[0083]具體的,所述運(yùn)行操作系統(tǒng)管理工具提供者可理解為運(yùn)行操作系統(tǒng)管理工具提供者中包含的邏輯語句,其中,所述邏輯語句一般包括判定語句以及判定結(jié)果對(duì)應(yīng)的執(zhí)行語句。
[0084]S380、基于所述操作系統(tǒng)管理工具提供者判定所述設(shè)定消息事件的觸發(fā)結(jié)果是否滿足設(shè)定的程序的啟動(dòng)條件。
[0085]基于操作系統(tǒng)管理工具提供者中的判定語句判定所述消息事件的觸發(fā)結(jié)果是否符合啟動(dòng)設(shè)定的程序的啟動(dòng)條件。該判定語句一般可以有兩個(gè)判定結(jié)果,即符合條件和不符合條件,當(dāng)判定結(jié)果為符合條件時(shí),所對(duì)應(yīng)的執(zhí)行語句可以是自啟動(dòng)設(shè)定的程序;當(dāng)判定結(jié)果為不符合條件時(shí),所對(duì)應(yīng)的執(zhí)行語句可以是不啟動(dòng)設(shè)定的程序。
[0086]S390、如果所述觸發(fā)結(jié)果滿足所述啟動(dòng)條件,則自啟動(dòng)所述設(shè)定的程序。
[0087]本實(shí)施例三的技術(shù)方案,在上述實(shí)施例二的基礎(chǔ)上進(jìn)一步優(yōu)化了設(shè)定消息事件的關(guān)聯(lián)動(dòng)態(tài)鏈接庫文件的創(chuàng)建操作;并進(jìn)一步具體化了基于操作系統(tǒng)管理工具提供者的邏輯語句確定程序自啟動(dòng)的操作過程。利用該方法,使得設(shè)定的程序的自啟動(dòng)僅依賴于設(shè)定消息事件的觸發(fā)以及操作系統(tǒng)管理工具提供者的邏輯語句,避免了設(shè)定的程序開機(jī)自啟動(dòng)情況,大大節(jié)省了電子設(shè)備的開機(jī)時(shí)間;同時(shí)減小了所占用運(yùn)行內(nèi)存的大小并降低了操作系統(tǒng)資源的消耗;此外,由于基于操作系統(tǒng)管理工具來監(jiān)測(cè)設(shè)定消息事件的觸發(fā),且安全類軟件無法監(jiān)管設(shè)定消息事件,因此保證了基于該消息事件所運(yùn)行的操作系統(tǒng)管理工具提供者不會(huì)被安全類軟件禁止啟動(dòng),進(jìn)而保證了設(shè)定的程序自啟動(dòng)有效進(jìn)行。
[0088]實(shí)施例四
[0089]圖4a為本發(fā)明實(shí)施例四提供的一種基于操作系統(tǒng)的程序自啟動(dòng)方法的優(yōu)選實(shí)施例。本發(fā)明實(shí)施例四以上述實(shí)施例一、實(shí)施例二以及實(shí)施例三中的任一實(shí)施例為基礎(chǔ)進(jìn)行優(yōu)化,在本實(shí)施例中,將操作系統(tǒng)具體優(yōu)化為Windows操作系統(tǒng),同時(shí),將所述操作系統(tǒng)管理工具優(yōu)化為WMI,圖4b為本發(fā)明實(shí)施例四提供的Windows操作系統(tǒng)下的WMI的架構(gòu)圖。
[0090]如圖4b所示,在Windows操作系統(tǒng)下的WMI的架構(gòu)圖中,可將WMI分為3層,分別是WMI使用者(WMI Consumers)41、WMI基礎(chǔ)組件(WMI Infrastructure)42以及WMI提供者(WMIProviders)43。需要說明的是,WMI基礎(chǔ)組件42包括WMI核心組件(麗I core)421和WMI存儲(chǔ)組件(麗I Repository)422,其中,麗I核心組件421可用于控制麗I使用者41和麗I提供者42,并可作為WMI使用者41和WMI提供者42進(jìn)行信息交互的傳遞者,為二者的數(shù)據(jù)通信提供服務(wù),此外,所述WMI核心組件421還可獲取WMI存儲(chǔ)組件422中的數(shù)據(jù)信息,并將所獲取的信息傳遞給麗I使用者41或麗I提供者42。由于WMI技術(shù)是Windows系統(tǒng)中的現(xiàn)有技術(shù),這里不再詳細(xì)說明。
[0091]在本實(shí)施例中,可通過WMI核心組件421監(jiān)測(cè)設(shè)定消息事件的觸發(fā),并判斷是否存在與設(shè)定消息事件關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件;之后,通過WMI提供者43中的邏輯語句確定設(shè)定的程序的自啟動(dòng)。
[0092]此外,本實(shí)施例四所設(shè)定的應(yīng)用場(chǎng)景是對(duì)手機(jī)助手這個(gè)設(shè)定的程序所進(jìn)行的自啟動(dòng)。進(jìn)一步的,本實(shí)施例四將手機(jī)助手的自啟動(dòng)與設(shè)定的通用串行總線USB設(shè)備接入事件相關(guān)聯(lián),具體的,通過監(jiān)測(cè)USB設(shè)備接入事件來確定是否啟動(dòng)手機(jī)助手。
[0093]如圖4a所示,本發(fā)明實(shí)施例四提供的一種基于操作系統(tǒng)的程序自啟動(dòng)方法的優(yōu)選實(shí)施例,具體包括如下操作:
[0094]S410、將USB設(shè)備接入事件注冊(cè)到WMI中。
[0095]示例性的,構(gòu)造包含USB設(shè)備接入信息的格式為.mof的描述文件,并基于微軟公司提供的特定解析工具對(duì)描述文件進(jìn)行解析,可解析出所需要的USB設(shè)備接入事件以及與該事件關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件名;并可基于該解析工具將上述USB設(shè)備接入事件信息注冊(cè)到WMI的WMI存儲(chǔ)組件中,以完成USB設(shè)備接入事件到WMI的注冊(cè)。
[0096]S420、創(chuàng)建所述USB設(shè)備接入事件關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件,并在所述動(dòng)態(tài)鏈接庫文件中構(gòu)建一個(gè)WMI提供者。
[0097]示例性的,在USB設(shè)備接入事件觸發(fā)后,可以為所關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件提供一個(gè)調(diào)用執(zhí)行的機(jī)會(huì),因此,可基于S420為USB設(shè)備接入事件創(chuàng)建關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件,由于動(dòng)態(tài)鏈接庫文件僅是一個(gè)邏輯載體,還需要在該文件中構(gòu)建一個(gè)WMI提供者,才能實(shí)現(xiàn)程序自啟動(dòng)的確定操作。具體的,可基于特定語言在動(dòng)態(tài)鏈接庫文件中構(gòu)建包含可執(zhí)行邏輯語句的麗I提供者。
[0098]S430、注冊(cè)所述動(dòng)態(tài)鏈接庫文件的文件信息到Windows注冊(cè)表。
[0099]在本實(shí)施例中,因?yàn)閃MI提供者處于WMI架構(gòu)的第三層,而WMI架構(gòu)中的各層之間實(shí)現(xiàn)通信時(shí)需要通過調(diào)用公共接口實(shí)現(xiàn),所以在WMI中構(gòu)建好動(dòng)態(tài)鏈接庫文件之后,WMI核心組件確定USB設(shè)備接入事件存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件后,并不能直接執(zhí)行動(dòng)態(tài)鏈接庫文件中的WMI提供者,需要通過調(diào)用該動(dòng)態(tài)鏈接庫文件所對(duì)應(yīng)的公共接口才能運(yùn)行動(dòng)態(tài)鏈接庫文件中WMI提供者的邏輯語句。
[0100]在本實(shí)施例中,可基于WMI中的com技術(shù)(微軟組件對(duì)象模型)來實(shí)現(xiàn)動(dòng)態(tài)鏈接庫文件的文件信息到Windows系統(tǒng)注冊(cè)表的注冊(cè),其中,所述文件信息主要包括動(dòng)態(tài)鏈接庫文件的文件名、存儲(chǔ)位置、以及對(duì)應(yīng)的公共接口 id等。需要說明的是,在進(jìn)行注冊(cè)操作時(shí)可為該注冊(cè)信息設(shè)置管理權(quán)限,以避免安全類監(jiān)管軟件對(duì)該注冊(cè)信息的修改。
[0101 ] S440、基于WMI的WMI核心組件監(jiān)測(cè)USB設(shè)備接入事件是否被觸發(fā)。
[0102]示例性的,基于上述S410?S430的步驟完成預(yù)操作后,可基于WMI的WMI核心組件來監(jiān)測(cè)USB設(shè)備加入事件是否被觸發(fā)。
[0103]S450、如果監(jiān)測(cè)到所述USB設(shè)備接入事件被觸發(fā),則基于所述WMI核心組件判斷所述USB設(shè)備接入事件在所述WMI中是否存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件。
[0104]示例性的,WMI核心組件可基于注冊(cè)到WMI中USB設(shè)備接入事件信息中包含的動(dòng)態(tài)鏈接庫文件名來確定USB設(shè)備接入事件是否關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件。
[0105]S460、如果存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件,則基于所述WMI調(diào)用所述動(dòng)態(tài)鏈接庫文件的公共接口。
[0106]示例性的,所述公共接口的確定主要基于注冊(cè)到Windows系統(tǒng)注冊(cè)表中動(dòng)態(tài)鏈接庫文件對(duì)應(yīng)的公共接口 id實(shí)現(xiàn)。由此實(shí)現(xiàn)WMI對(duì)所述動(dòng)態(tài)鏈接庫文件對(duì)應(yīng)公共接口的調(diào)用。
[0107]S470、通過所述公共接口運(yùn)行所述動(dòng)態(tài)鏈接庫文件中包含的WMI提供者。
[0108]S480、基于所述WMI提供者判定所述USB設(shè)備接入事件的觸發(fā)結(jié)果是否滿足手機(jī)助手的啟動(dòng)條件。
[0109]示例性的,所述USB設(shè)備接入事件的觸發(fā)結(jié)果可以是接入設(shè)備為U盤,可以是接入設(shè)備為移動(dòng)硬盤件,也可以是接入設(shè)備為手機(jī)、平板電腦等智能終端。基于S480就可以判斷上述觸發(fā)結(jié)果是否滿足WMI提供者中設(shè)定的判定語句,即判定上述觸發(fā)結(jié)果是否滿足手機(jī)助手的啟動(dòng)條件。
[0110]在本實(shí)施例中,設(shè)定當(dāng)觸發(fā)結(jié)果為接入設(shè)備為手機(jī)、平板電腦等智能終端時(shí)滿足手機(jī)助手的啟動(dòng)條件。
[0111]S490、如果所述觸發(fā)結(jié)果滿足所述啟動(dòng)條件,則自啟動(dòng)手機(jī)助手。
[0112]示例性的,當(dāng)觸發(fā)結(jié)果為接入設(shè)備為手機(jī)、平板電腦等智能終端時(shí),自啟動(dòng)手機(jī)助手這個(gè)設(shè)定的程序。
[0113]本實(shí)施例四的技術(shù)方案,為本發(fā)明提供的基于操作系統(tǒng)的程序自啟動(dòng)方法的優(yōu)選實(shí)施例,本實(shí)施例四基于本發(fā)明方法具體化了應(yīng)用場(chǎng)景為自啟動(dòng)手機(jī)助手的操作過程。利用該方法,使得手機(jī)助手的自啟動(dòng)僅依賴于設(shè)定的USB設(shè)備接入事件的觸發(fā)以及WMI提供者的邏輯語句,避免了手機(jī)助手開機(jī)便自啟動(dòng)的情況,大大節(jié)省了電子設(shè)備的開機(jī)時(shí)間;同時(shí)減小了所占用運(yùn)行內(nèi)存的大小并降低了操作系統(tǒng)資源的消耗;此外,由于基于WMI來監(jiān)測(cè)設(shè)定消息事件的觸發(fā),且安全類軟件無法監(jiān)管設(shè)定消息事件,因此保證了基于該消息事件所運(yùn)行的WMI提供者不會(huì)被安全類軟件禁止啟動(dòng),進(jìn)而保證了設(shè)定的程序自啟動(dòng)有效進(jìn)行。
[0114]實(shí)施例五
[0115]圖5為本發(fā)明實(shí)施例五提供的一種基于操作系統(tǒng)的程序自啟動(dòng)裝置的結(jié)構(gòu)框圖。本實(shí)施例的裝置可由軟件和/或硬件實(shí)現(xiàn),可適用于基于操作系統(tǒng)的管理工具對(duì)安裝在電子設(shè)備中的程序進(jìn)行自啟動(dòng)確定的情況,并一般集成在電子設(shè)備中,如圖5所示,該裝置包括:消息觸發(fā)監(jiān)測(cè)模塊51、關(guān)聯(lián)文件判定模塊52、公共接口調(diào)用模塊53以及程序自啟動(dòng)確定模塊54。
[0116]其中,消息觸發(fā)監(jiān)測(cè)模塊51,用于基于操作系統(tǒng)管理工具的核心組件監(jiān)測(cè)設(shè)定消息事件是否被觸發(fā)。
[0117]關(guān)聯(lián)文件判定模塊52,用于當(dāng)所述設(shè)定消息事件被觸發(fā)時(shí),基于所述核心組件判斷所述設(shè)定消息事件在所述操作系統(tǒng)管理工具中是否存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件。
[0118]公共接口調(diào)用模塊53,用于當(dāng)存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件時(shí),則基于所述操作系統(tǒng)管理工具調(diào)用所述動(dòng)態(tài)鏈接庫文件的公共接口。
[0119]程序自啟動(dòng)確定模塊54,用于通過所述公共接口運(yùn)行所述動(dòng)態(tài)鏈接庫文件中包含的操作系統(tǒng)管理工具提供者,并基于所述操作系統(tǒng)管理工具提供者中包含的邏輯語句確定是否自啟動(dòng)設(shè)定的程序。
[0120]在本實(shí)施例中,該裝置首先通過消息觸發(fā)監(jiān)測(cè)模塊51基于操作系統(tǒng)管理工具的核心組件監(jiān)測(cè)設(shè)定消息事件是否被觸發(fā);然后通過關(guān)聯(lián)文件判定模塊52當(dāng)所述設(shè)定消息事件被觸發(fā)時(shí),基于所述核心組件判斷所述設(shè)定消息事件在所述操作系統(tǒng)管理工具中是否存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件;之后通過公共接口調(diào)用模塊53當(dāng)存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件時(shí),則基于所述操作系統(tǒng)管理工具調(diào)用所述動(dòng)態(tài)鏈接庫文件的公共接口 ;最后通過程序自啟動(dòng)確定模塊54基于所述公共接口運(yùn)行所述動(dòng)態(tài)鏈接庫文件中包含的操作系統(tǒng)管理工具提供者,并基于所述操作系統(tǒng)管理工具提供者中包含的邏輯語句確定是否自啟動(dòng)設(shè)定的程序。
[0121]本實(shí)施例五的技術(shù)方案,利用該裝置,與現(xiàn)有的程序自啟動(dòng)裝置相比,不會(huì)在操作系統(tǒng)啟動(dòng)后直接啟動(dòng)程序的關(guān)聯(lián)服務(wù)進(jìn)程或基于注冊(cè)表啟動(dòng)項(xiàng)直接啟動(dòng)程序,由此大大節(jié)省了電子設(shè)備的開機(jī)時(shí)間,同時(shí)減小了所占用運(yùn)行內(nèi)存的大小并降低了操作系統(tǒng)資源的消耗;此外,由于程序的自啟動(dòng)不基于注冊(cè)表啟動(dòng)項(xiàng)或相關(guān)服務(wù)進(jìn)程,就不會(huì)出現(xiàn)被安全類軟件設(shè)置為禁止啟動(dòng)的情況,保證了設(shè)定的程序自啟動(dòng)有效進(jìn)行。
[0122]進(jìn)一步的,所述程序自啟動(dòng)確定模塊54,具體用于:
[0123]基于所述操作系統(tǒng)管理工具提供者判定所述設(shè)定消息事件的觸發(fā)結(jié)果是否滿足設(shè)定的程序的啟動(dòng)條件;如果所述觸發(fā)結(jié)果滿足所述啟動(dòng)條件,則自啟動(dòng)所述設(shè)定的程序。
[0124]實(shí)施例六
[0125]圖6為本發(fā)明實(shí)施例六提供的一種基于操作系統(tǒng)的程序自啟動(dòng)裝置的結(jié)構(gòu)框圖。本實(shí)施例六以上述實(shí)施例五為基礎(chǔ)進(jìn)行優(yōu)化,在本實(shí)施例中,該裝置除包括消息觸發(fā)監(jiān)測(cè)模塊51、關(guān)聯(lián)文件判定模塊52、公共接口調(diào)用模塊53以及程序自啟動(dòng)確定模塊54外,還包括:消息事件注冊(cè)模塊60和關(guān)聯(lián)文件創(chuàng)建模塊61。
[0126]其中,消息事件注冊(cè)模塊60,用于在基于操作系統(tǒng)管理工具的核心組件監(jiān)測(cè)設(shè)定消息事件是否被觸發(fā)之前,注冊(cè)所述設(shè)定消息事件信息到所述操作系統(tǒng)管理工具,其中,所述設(shè)定消息事件信息包括所述設(shè)定消息事件及與所述設(shè)定消息事件關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件名。
[0127]所述關(guān)聯(lián)文件創(chuàng)建模塊61,具體用于:
[0128]在注冊(cè)所述設(shè)定消息事件信息到所述操作系統(tǒng)管理工具之后,創(chuàng)建所述設(shè)定消息事件關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件,并在所述動(dòng)態(tài)鏈接庫文件中構(gòu)建一個(gè)操作系統(tǒng)管理工具提供者,其中,所述操作系統(tǒng)管理工具提供者中包含可執(zhí)行的邏輯語句;注冊(cè)所述動(dòng)態(tài)鏈接庫文件的文件信息到操作系統(tǒng)注冊(cè)表,其中,所述文件信息包括:所述動(dòng)態(tài)鏈接庫文件的文件名、存儲(chǔ)位置以及所述動(dòng)態(tài)鏈接庫文件關(guān)聯(lián)的操作系統(tǒng)管理工具公共接口 id。
[0129]進(jìn)一步的,所述消息事件注冊(cè)模塊60,具體用于:
[0130]構(gòu)造所述設(shè)定消息事件的描述文件;基于操作系統(tǒng)的特定解析工具解析所述描述文件,并獲取所述描述文件中包含設(shè)定消息事件信息;依據(jù)所述特定解析工具將所述設(shè)定消息事件信息注冊(cè)到所述操作系統(tǒng)管理工具中。
[0131]本實(shí)施例六的技術(shù)方案,利用該裝置,直接將設(shè)定消息事件注冊(cè)于操作系統(tǒng)管理工具中,實(shí)現(xiàn)了操作系統(tǒng)管理工具的核心組件對(duì)消息事件的監(jiān)控,由于安全類軟件不能對(duì)操作系統(tǒng)的管理工具進(jìn)行監(jiān)管,使得安全類軟件無法監(jiān)管設(shè)定消息事件,因此保證了基于該消息事件所運(yùn)行的操作系統(tǒng)管理工具提供者不會(huì)被安全類軟件禁止啟動(dòng),進(jìn)而保證了設(shè)定的程序能夠正常的進(jìn)行自啟動(dòng),提升了用戶體驗(yàn)。
[0132]進(jìn)一步的,在上述實(shí)施例五的基礎(chǔ)上,本實(shí)施例六還可將操作系統(tǒng)優(yōu)化為Windows系統(tǒng),將操作系統(tǒng)管理工具為Window管理工具WMI。
[0133]注意,上述僅為本發(fā)明的較佳實(shí)施例及所運(yùn)用技術(shù)原理。本領(lǐng)域技術(shù)人員會(huì)理解,本發(fā)明不限于這里所述的特定實(shí)施例,對(duì)本領(lǐng)域技術(shù)人員來說能夠進(jìn)行各種明顯的變化、重新調(diào)整和替代而不會(huì)脫離本發(fā)明的保護(hù)范圍。因此,雖然通過以上實(shí)施例對(duì)本發(fā)明進(jìn)行了較為詳細(xì)的說明,但是本發(fā)明不僅僅限于以上實(shí)施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實(shí)施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。
【主權(quán)項(xiàng)】
1.一種基于操作系統(tǒng)的程序自啟動(dòng)方法,其特征在于,包括: 基于操作系統(tǒng)管理工具的核心組件監(jiān)測(cè)設(shè)定消息事件是否被觸發(fā); 如果所述設(shè)定消息事件被觸發(fā),則基于所述核心組件判斷所述設(shè)定消息事件在所述操作系統(tǒng)管理工具中是否存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件; 如果存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件,則基于所述操作系統(tǒng)管理工具調(diào)用所述動(dòng)態(tài)鏈接庫文件的公共接口 ; 通過所述公共接口運(yùn)行所述動(dòng)態(tài)鏈接庫文件中包含的操作系統(tǒng)管理工具提供者,并基于所述操作系統(tǒng)管理工具提供者中包含的邏輯語句確定是否自啟動(dòng)設(shè)定的程序。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在基于操作系統(tǒng)管理工具的核心組件監(jiān)測(cè)設(shè)定消息事件是否被觸發(fā)之前,還包括: 注冊(cè)所述設(shè)定消息事件信息到所述操作系統(tǒng)管理工具,其中,所述設(shè)定消息事件信息包括所述設(shè)定消息事件及與所述設(shè)定消息事件關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件名。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述注冊(cè)所述設(shè)定消息事件信息到所述操作系統(tǒng)管理工具,具體包括: 構(gòu)造所述設(shè)定消息事件的描述文件; 基于操作系統(tǒng)的特定解析工具解析所述描述文件,并獲取所述描述文件中包含設(shè)定消息事件信息; 依據(jù)所述特定解析工具將所述設(shè)定消息事件信息注冊(cè)到所述操作系統(tǒng)管理工具中。4.根據(jù)權(quán)利要求2所述的方法,其特征在于,在注冊(cè)所述設(shè)定消息事件信息到所述操作系統(tǒng)管理工具之后,還包括: 創(chuàng)建所述設(shè)定消息事件關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件,并在所述動(dòng)態(tài)鏈接庫文件中構(gòu)建一個(gè)操作系統(tǒng)管理工具提供者,其中,所述操作系統(tǒng)管理工具提供者中包含可執(zhí)行的邏輯語句; 注冊(cè)所述動(dòng)態(tài)鏈接庫文件的文件信息到操作系統(tǒng)注冊(cè)表,其中,所述文件信息包括:所述動(dòng)態(tài)鏈接庫文件的文件名、存儲(chǔ)位置以及所述動(dòng)態(tài)鏈接庫文件關(guān)聯(lián)的操作系統(tǒng)管理工具公共接口 id。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于所述操作系統(tǒng)管理工具提供者中包含的邏輯語句確定是否自啟動(dòng)設(shè)定的程序,具體包括: 基于所述操作系統(tǒng)管理工具提供者判定所述設(shè)定消息事件的觸發(fā)結(jié)果是否滿足設(shè)定的程序的啟動(dòng)條件; 如果所述觸發(fā)結(jié)果滿足所述啟動(dòng)條件,則自啟動(dòng)所述設(shè)定的程序。6.根據(jù)權(quán)利要求1-5任一項(xiàng)所述的方法,其特征在于, 操作系統(tǒng)為Windows系統(tǒng),所述操作系統(tǒng)管理工具為Window管理工具WMI。7.一種基于操作系統(tǒng)的程序自啟動(dòng)裝置,其特征在于,包括: 消息觸發(fā)監(jiān)測(cè)模塊,用于基于操作系統(tǒng)管理工具的核心組件監(jiān)測(cè)設(shè)定消息事件是否被觸發(fā); 關(guān)聯(lián)文件判定模塊,用于當(dāng)所述設(shè)定消息事件被觸發(fā)時(shí),基于所述核心組件判斷所述設(shè)定消息事件在所述操作系統(tǒng)管理工具中是否存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件; 公共接口調(diào)用模塊,用于當(dāng)存在關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件時(shí),則基于所述操作系統(tǒng)管理工具調(diào)用所述動(dòng)態(tài)鏈接庫文件的公共接口 ; 程序自啟動(dòng)確定模塊,用于通過所述公共接口運(yùn)行所述動(dòng)態(tài)鏈接庫文件中包含的操作系統(tǒng)管理工具提供者,并基于所述操作系統(tǒng)管理工具提供者中包含的邏輯語句確定是否自啟動(dòng)設(shè)定的程序。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,還包括: 消息事件注冊(cè)模塊,用于在基于操作系統(tǒng)管理工具的核心組件監(jiān)測(cè)設(shè)定消息事件是否被觸發(fā)之前,注冊(cè)所述設(shè)定消息事件信息到所述操作系統(tǒng)管理工具,其中,所述設(shè)定消息事件信息包括所述設(shè)定消息事件及與所述設(shè)定消息事件關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件名。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述消息事件注冊(cè)模塊,具體用于: 構(gòu)造所述設(shè)定消息事件的描述文件; 基于操作系統(tǒng)的特定解析工具解析所述描述文件,并獲取所述描述文件中包含設(shè)定消息事件信息; 依據(jù)所述特定解析工具將所述設(shè)定消息事件信息注冊(cè)到所述操作系統(tǒng)管理工具中。10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,還包括:關(guān)聯(lián)文件創(chuàng)建模塊, 相應(yīng)的,所述關(guān)聯(lián)文件創(chuàng)建模塊,具體用于: 在注冊(cè)所述設(shè)定消息事件信息到所述操作系統(tǒng)管理工具之后,創(chuàng)建所述設(shè)定消息事件關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件,并在所述動(dòng)態(tài)鏈接庫文件中構(gòu)建一個(gè)操作系統(tǒng)管理工具提供者,其中,所述操作系統(tǒng)管理工具提供者中包含可執(zhí)行的邏輯語句; 注冊(cè)所述動(dòng)態(tài)鏈接庫文件的文件信息到操作系統(tǒng)注冊(cè)表,其中,所述文件信息包括:所述動(dòng)態(tài)鏈接庫文件的文件名、存儲(chǔ)位置以及所述動(dòng)態(tài)鏈接庫文件關(guān)聯(lián)的操作系統(tǒng)管理工具公共接口 id。11.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述程序自啟動(dòng)確定模塊,具體用于: 基于所述操作系統(tǒng)管理工具提供者判定所述設(shè)定消息事件的觸發(fā)結(jié)果是否滿足設(shè)定的程序的啟動(dòng)條件; 如果所述觸發(fā)結(jié)果滿足所述啟動(dòng)條件,則自啟動(dòng)所述設(shè)定的程序。12.根據(jù)權(quán)利要求7-11任一項(xiàng)所述的裝置,其特征在于, 操作系統(tǒng)為Windows系統(tǒng),所述操作系統(tǒng)管理工具為Window管理工具WMI。
【文檔編號(hào)】G06F9/445GK105930190SQ201610270254
【公開日】2016年9月7日
【申請(qǐng)日】2016年4月27日
【發(fā)明人】方亮
【申請(qǐng)人】百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1