專利名稱::一種用于實(shí)現(xiàn)文件收集、軟件包自動(dòng)安裝的方法及裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及信息收集
技術(shù)領(lǐng)域:
,特別是涉及一種用于實(shí)現(xiàn)文件收集的方法及裝置。
背景技術(shù):
:隨著互聯(lián)網(wǎng)的日益發(fā)展,用戶對(duì)各種互聯(lián)網(wǎng)業(yè)務(wù)的服務(wù)商的要求也越來(lái)越高,于是這些服務(wù)商必須不斷提高自身為用戶提供的服務(wù),才能滿足用戶的需求,這也就要求這些服務(wù)商自身要獲取更多的有價(jià)值的信息。在這些有價(jià)值的信息中,各種文件的收集尤為重要,比如PE(PortableExecute,可移植的執(zhí)行體)類文件和腳本類的文件等等。發(fā)明人在經(jīng)過(guò)大量研究后發(fā)現(xiàn),可以采用UniversalExtractor(通用提取)等工具來(lái)收集一些文件。UniversalExtractor是一個(gè)可以從多種類型的存檔文件中提取文件的程序,無(wú)論是簡(jiǎn)單的ZIP文件、安裝程序(如Wise或NSIS),還是Windows安裝程序(.msi)包。只要指定待提取的文件和目標(biāo)文件夾,UniversalExtractor會(huì)自動(dòng)分析文件類型并完成提取。但是,UniversalExtractor只能將一些已知的打包格式識(shí)別出來(lái),進(jìn)而提取文件,雖然已知的打包格式很多,但仍然有很多新出現(xiàn)的未知打包格式無(wú)法識(shí)別,進(jìn)而無(wú)法提取這些新出現(xiàn)的未知打包格式的文件。因此,迫切需要本領(lǐng)域技術(shù)人員解決的技術(shù)問(wèn)題就在于,如何提供一種更全面、高效的文件收集方法。
發(fā)明內(nèi)容本發(fā)明提供了一種用于文件收集的方法和裝置,能夠更全面、更高效的收集文件。本發(fā)明還提供了一種用于實(shí)現(xiàn)軟件包自動(dòng)安裝的方法和裝置,能夠提高軟件包的安裝效率,并且可以適用于不同類型軟件包的自動(dòng)安裝。本發(fā)明提供了如下方案一種用于實(shí)現(xiàn)文件收集的方法,包括獲得可安裝的軟件包;運(yùn)行所述可安裝的軟件包;當(dāng)出現(xiàn)所述軟件包的安裝界面時(shí)分析所述安裝界面的內(nèi)容,獲得所述安裝界面中繼續(xù)安裝類按鍵的位置信息;根據(jù)所述繼續(xù)安裝類按鍵的位置信息,模擬點(diǎn)擊所述繼續(xù)安裝類按鍵,直至所述軟件包的安裝完成為止;監(jiān)控所述軟件包安裝過(guò)程中釋放的文件;收集在所述軟件包的安裝過(guò)程中釋放的所需的文件??蛇x的,所述獲得所述安裝界面中繼續(xù)安裝類按鍵的位置信息包括調(diào)用用以枚舉界面上控件類型的系統(tǒng)API函數(shù),查找當(dāng)前安裝界面上按鍵類型的控件;分析所述按鍵類型的控件的文本內(nèi)容,找出所述文本內(nèi)容屬于繼續(xù)安裝類的按鍵;通過(guò)調(diào)用用以獲取位置信息的系統(tǒng)API函數(shù),獲得所述繼續(xù)安裝類按鍵的位置信息??蛇x的,所述獲得所述安裝界面中繼續(xù)安裝類按鍵的位置信息包括調(diào)用用以枚舉界面上控件類型的系統(tǒng)API函數(shù),查找當(dāng)前安裝界面上按鍵類型的控件;調(diào)用用以查找按鍵不可用的系統(tǒng)API函數(shù),找出所述控件中不可點(diǎn)擊的按鍵類型的控件;分析所述按鍵類型的控件的文本內(nèi)容,找出所述文本內(nèi)容屬于停止安裝類的按鍵;通過(guò)在所有的按鍵中過(guò)濾掉不可點(diǎn)擊的按鍵和所述停止安裝類的按鍵,找出繼續(xù)安裝類的按鍵和后退安裝類的按鍵;根據(jù)所述繼續(xù)安裝類的按鍵和后退安裝類的按鍵之間的位置關(guān)系,或者通過(guò)模擬試點(diǎn)擊的方式,找出繼續(xù)安裝類的按鍵;通過(guò)調(diào)用用以獲取位置信息的系統(tǒng)API函數(shù),獲得所述繼續(xù)安裝類按鍵的位置信息??蛇x的,所述監(jiān)控所述軟件包安裝過(guò)程中釋放出的文件包括通過(guò)調(diào)用鉤子函數(shù)捕獲到文件操作流,獲得在所述軟件包安裝過(guò)程中釋放的文件的文件路徑;所述收集在軟件包的安裝過(guò)程中釋放的所需的文件包括根據(jù)所述文件的文件路徑,收集在所述軟件包的安裝過(guò)程中釋放的所需的文件。可選的,所述收集所需的文件包括從所述軟件包安裝過(guò)程中釋放的文件中識(shí)別出屬于可移植的執(zhí)行體PE類文件和/或腳本類文件;拷貝所述PE類文件和/或腳本類文件;通過(guò)調(diào)用系統(tǒng)API函數(shù)獲得所述PE類文件和/或腳本類文件的文件屬性信息??蛇x的,所述獲得PE類文件和/或腳本類文件的文件屬性信息包括獲得所述PE類文件和/或腳本類文件的大小、創(chuàng)建時(shí)間、修改時(shí)間、文件簽名中的任意一種或多種??蛇x的,所述模擬點(diǎn)擊包括模擬鼠標(biāo)點(diǎn)擊、模擬鍵盤點(diǎn)擊和模擬觸摸點(diǎn)擊中的任意一種。一種用于實(shí)現(xiàn)文件收集的裝置,包括軟件包獲得單元,用于獲得可安裝的軟件包;運(yùn)行單元,用于運(yùn)行所述可安裝的軟件包;位置分析單元,用于當(dāng)出現(xiàn)所述軟件包的安裝界面時(shí)分析所述安裝界面的內(nèi)容,獲得所述安裝界面中繼續(xù)安裝類按鍵的位置信息;模擬點(diǎn)擊單元,用于根據(jù)所述繼續(xù)安裝類按鍵的位置信息,模擬點(diǎn)擊所述繼續(xù)安裝類按鍵,直至所述軟件包的安裝完成為止;監(jiān)控單元,用于監(jiān)控所述軟件包安裝過(guò)程中釋放的文件;收集單元,用于收集在所述軟件包的安裝過(guò)程中釋放的所需的文件??蛇x的,所述位置分析單元包括第一查找單元,用于調(diào)用用以枚舉界面上控件類型的系統(tǒng)API函數(shù),查找當(dāng)前安裝界面上按鍵類型的控件;第一分析單元,用于分析所述按鍵類型的控件的文本內(nèi)容,找出所述文本內(nèi)容屬于繼續(xù)安裝類的按鍵;第一位置獲得單元,用于通過(guò)調(diào)用用以獲取位置信息的系統(tǒng)API函數(shù),獲得所述繼續(xù)安裝類按鍵的位置信息??蛇x的,所述位置分析單元包括第二查找單元,用于調(diào)用用以枚舉界面上控件類型的系統(tǒng)API函數(shù),查找當(dāng)前安裝界面上按鍵類型的控件;第三查找單元,用于調(diào)用用以查找按鍵不可用的系統(tǒng)API函數(shù),找出所述控件中不可點(diǎn)擊的按鍵類型的控件;第二分析單元,用于分析所述按鍵類型的控件的文本內(nèi)容,找出所述文本內(nèi)容屬于停止安裝類的按鍵;過(guò)濾單元,用于通過(guò)在所有的按鍵中過(guò)濾掉不可點(diǎn)擊的按鍵和所述停止安裝類的按鍵,找出繼續(xù)安裝類的按鍵和后退安裝類的按鍵;第四查找單元,用于根據(jù)所述繼續(xù)安裝類的按鍵和后退安裝類的按鍵之間的位置關(guān)系,或者通過(guò)模擬試點(diǎn)擊的方式,找出繼續(xù)安裝類的按鍵;第二位置獲得單元,用于通過(guò)調(diào)用用以獲取位置信息的系統(tǒng)API函數(shù),獲得所述繼續(xù)安裝類按鍵的位置信息??蛇x的,所述監(jiān)控單元,具體用于通過(guò)調(diào)用鉤子函數(shù)捕獲到文件操作流,獲得在所述軟件包安裝過(guò)程中釋放的文件的文件路徑;所述收集單元,具體用于根據(jù)所述監(jiān)控單元提供的文件路徑,收集在所述軟件包的安裝過(guò)程中釋放的所需的文件??蛇x的,所述收集單元具體包括識(shí)別子單元,用于從所述軟件包安裝過(guò)程中釋放的文件中識(shí)別出屬于PE類的文件和/或腳本類的文件;拷貝子單元,用于拷貝所述PE類文件和/或腳本類文件;屬性獲得子單元,用于通過(guò)調(diào)用系統(tǒng)API函數(shù)獲得所述PE類文件和/或腳本類文件的文件屬性信息??蛇x的,所述屬性獲得子單元,具體用于獲得所述PE類文件和/或腳本類文件的大小、創(chuàng)建時(shí)間、修改時(shí)間、文件簽名中的任意一種或多種。一種用于實(shí)現(xiàn)軟件包自動(dòng)安裝的方法,包括獲得可安裝的軟件包;運(yùn)行所述可安裝的軟件包;當(dāng)出現(xiàn)所述軟件包的安裝界面時(shí)分析所述安裝界面的內(nèi)容,獲得所述安裝界面中繼續(xù)安裝類按鍵的位置信息;根據(jù)所述繼續(xù)安裝類按鍵的位置信息,模擬點(diǎn)擊所述繼續(xù)安裝類按鍵,直至所述軟件包的安裝完成為止??蛇x的,還包括根據(jù)繼續(xù)安裝類按鍵在上一安裝界面中所處的位置信息,在當(dāng)前安裝界面中的雷同位置識(shí)別出所述當(dāng)前安裝界面中繼續(xù)安裝類按鍵的位置信息??蛇x的,還包括分析當(dāng)前安裝界面中是否包含協(xié)議類型的控件,識(shí)別出當(dāng)前安裝界面為協(xié)議頁(yè);如果當(dāng)前協(xié)議頁(yè)中的繼續(xù)安裝類按鍵不可點(diǎn)擊,則獲取協(xié)議同意類型控件的按鍵位置信息;模擬點(diǎn)擊所述協(xié)議同意類型控件的按鍵,直到所述繼續(xù)安裝類按鍵可以點(diǎn)擊為止。可選的,還包括分析當(dāng)前安裝界面中是否包含組件類型的控件,識(shí)別出當(dāng)前安裝界面為組件頁(yè);模擬點(diǎn)擊所述組件頁(yè)中所有組件類型控件的按鍵??蛇x的,還包括將當(dāng)前彈出的彈出框尺寸與所述安裝界面尺寸比較,如果所述彈出框的尺寸小于所述安裝界面的尺寸或小于所述安裝界面的程度超過(guò)預(yù)置范圍,則識(shí)別所述彈出框?yàn)樘崾究?;舉所述提示框中控件類型的系統(tǒng)API函數(shù),查找所述提示框中按鍵類型的控件;在所述按鍵類型的控件中識(shí)別出確認(rèn)類按鍵;通過(guò)調(diào)用用以獲得位置信息的系統(tǒng)API函數(shù),獲得所述提示框中確認(rèn)類按鍵的位置信息;模擬點(diǎn)擊所述提示框中的確認(rèn)類按鍵。一種用于實(shí)現(xiàn)軟件包自動(dòng)安裝的裝置,包括軟件包獲得單元,用于獲得可安裝的軟件包;運(yùn)行單元,用于運(yùn)行所述可安裝的軟件包;第一位置分析單元,用于當(dāng)出現(xiàn)所述軟件包的安裝界面時(shí)分析所述安裝界面的內(nèi)容,獲得所述安裝界面中繼續(xù)安裝類按鍵的位置信息;第一模擬點(diǎn)擊單元,用于根據(jù)所述繼續(xù)安裝類按鍵的位置信息,模擬點(diǎn)擊所述繼續(xù)安裝類按鍵,直至所述軟件包的安裝完成為止。可選的,還包括第二位置分析單元,用于根據(jù)繼續(xù)安裝類按鍵在上一安裝界面中所處的位置信息,在當(dāng)前安裝界面中的雷同位置識(shí)別出所述當(dāng)前安裝界面中繼續(xù)安裝類按鍵的位置信息??蛇x的,還包括協(xié)議頁(yè)識(shí)別單元,用于分析當(dāng)前安裝界面中是否包含協(xié)議類型的控件,識(shí)別出當(dāng)前安裝界面為協(xié)議頁(yè);第三位置分析單元,用于如果當(dāng)前協(xié)議頁(yè)中的繼續(xù)安裝類按鍵不可點(diǎn)擊,則獲取協(xié)議同意類型控件的按鍵位置信息;第二模擬點(diǎn)擊單元,用于模擬點(diǎn)擊所述協(xié)議同意類型控件的按鍵,直到所述繼續(xù)安裝類按鍵可以點(diǎn)擊為止。可選的,還包括組件識(shí)別單元,用于分析當(dāng)前安裝界面中是否包含組件類型的控件,識(shí)別出當(dāng)前安裝界面為組件頁(yè);第三模擬點(diǎn)擊單元,用于模擬點(diǎn)擊所述組件頁(yè)中所有組件類型控件的按鍵。可選的,還包括提示框識(shí)別單元,用于將當(dāng)前彈出的彈出框尺寸與所述安裝界面尺寸比較,如果所述彈出框的尺寸小于所述安裝界面的尺寸或小于所述安裝界面的程度超過(guò)預(yù)置范圍,則識(shí)別所述彈出框?yàn)樘崾究颍坏谖宀檎覇卧?,用于枚舉所述提示框中控件類型的系統(tǒng)API函數(shù),查找所述提示框中按鍵類型的控件;確認(rèn)識(shí)別單元,用于在所述按鍵類型的控件中識(shí)別出確認(rèn)類按鍵;第四位置分析單元,用于通過(guò)調(diào)用用以獲得位置信息的系統(tǒng)API函數(shù),獲得所述提示框中確認(rèn)類按鍵的位置信息;第四模擬點(diǎn)擊單元,用于模擬點(diǎn)擊所述提示框中的確認(rèn)類按鍵??蛇x的,所述模擬點(diǎn)擊單元包括模擬鼠標(biāo)點(diǎn)擊、模擬鍵盤點(diǎn)擊和模擬觸摸點(diǎn)擊中的任意一種。根據(jù)本發(fā)明提供的一種用于實(shí)現(xiàn)文件收集的方法和裝置具體實(shí)施例,本發(fā)明公開了以下技術(shù)效果通過(guò)自動(dòng)安裝軟件包的方式來(lái)收集安裝過(guò)程中釋放出的文件,使得收集到的文件更全面。而且,由于在進(jìn)行安裝過(guò)程中,是通過(guò)分析安裝界面的內(nèi)容,能夠自動(dòng)識(shí)別出需要點(diǎn)擊的按鍵(比如繼續(xù)安裝類的按鍵),并且在識(shí)別之后通過(guò)模擬點(diǎn)擊對(duì)應(yīng)的按鍵,實(shí)現(xiàn)軟件包的完全自動(dòng)安裝。因此,安裝軟件包的效率很高,而且對(duì)軟件包的類型沒(méi)有限制,適用性更廣,所以使得文件收集的效率和全面性都得到了顯著提高。根據(jù)本發(fā)明提供的一種用于實(shí)現(xiàn)軟件包自動(dòng)安裝的方法和裝置實(shí)施例,本發(fā)明公開了以下技術(shù)效果通過(guò)分析安裝界面的內(nèi)容,能夠自動(dòng)識(shí)別出需要點(diǎn)擊的按鍵(比如繼續(xù)安裝類的按鍵),并且在識(shí)別之后通過(guò)模擬點(diǎn)擊對(duì)應(yīng)的按鍵,實(shí)現(xiàn)軟件包的完全自動(dòng)安裝。而且,本發(fā)明實(shí)施例不需要事先對(duì)待安裝的軟件包類型進(jìn)行識(shí)別分析、安裝錄制,而是通過(guò)在安裝過(guò)程中對(duì)安裝界面進(jìn)行具體分析找出需要模擬點(diǎn)擊的按鍵,從使得本發(fā)明實(shí)施例的軟件包自動(dòng)安裝方案,可以適用于各種類型軟件包的安裝,因此應(yīng)用范圍更廣,自動(dòng)安裝的效率更聞。為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I是為本發(fā)明一種用于實(shí)現(xiàn)文件收集的方法實(shí)施例流程圖;圖2是本發(fā)明一種用于實(shí)現(xiàn)文件收集的裝置實(shí)施例示意圖;圖3是本發(fā)明一種用于實(shí)現(xiàn)軟件包自動(dòng)安裝的方法實(shí)施例流程圖;圖4是本發(fā)明視頻下載器自動(dòng)安裝具體實(shí)施方式中的第一界面示意圖;圖5是本發(fā)明視頻下載器自動(dòng)安裝具體實(shí)施方式中的第二界面示意圖;圖6是本發(fā)明視頻下載器自動(dòng)安裝具體實(shí)施方式中的第三界面示意圖;圖7是本發(fā)明視頻下載器自動(dòng)安裝具體實(shí)施方式中的第四界面示意圖;圖8是本發(fā)明視頻下載器自動(dòng)安裝具體實(shí)施方式中的第五界面示意圖;圖9是本發(fā)明視頻下載器自動(dòng)安裝具體實(shí)施方式中的第六界面示意圖;圖10是本發(fā)明視頻下載器自動(dòng)安裝具體實(shí)施方式中的第七界面示意圖;圖11是本發(fā)明視頻下載器自動(dòng)安裝具體實(shí)施方式中的第八界面示意圖;圖12是本發(fā)明視頻下載器自動(dòng)安裝具體實(shí)施方式中的第九界面示意圖13是本發(fā)明一種用于實(shí)現(xiàn)軟件包自動(dòng)安裝的裝置實(shí)施例示意圖。具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。請(qǐng)參閱圖1,其為本發(fā)明一種用于實(shí)現(xiàn)文件收集的方法第一實(shí)施例流程圖。在本實(shí)施例中,包括如下步驟步驟110:獲得可安裝的軟件包。在具體實(shí)現(xiàn)本步驟的過(guò)程中,有多種具體實(shí)施方式。比如,可以由服務(wù)器通過(guò)軟件收集或人工收集當(dāng)前網(wǎng)絡(luò)上提供的下載可安裝的軟件包的鏈接,然后由服務(wù)器自動(dòng)下載或者人工手動(dòng)下載可安裝的軟件包。再比如,監(jiān)控到某臺(tái)計(jì)算機(jī)上有需要更新的軟件,那么可以去下載該軟件的升級(jí)包??砂惭b的軟件包可以是升級(jí)的軟件包,也可以是全新的一款可安裝的軟件包。本發(fā)明實(shí)施例對(duì)如何獲得可安裝的軟件包并沒(méi)有限制,只要能夠獲取到可安裝的軟件包,即可應(yīng)用本發(fā)明實(shí)施例的技術(shù)方案。步驟120:運(yùn)行所述可安裝的軟件包。在具體實(shí)現(xiàn)時(shí),可以通過(guò)點(diǎn)擊來(lái)運(yùn)行可安裝的軟件包。也可以通過(guò)調(diào)用系統(tǒng)API函數(shù)creatprocess,自動(dòng)運(yùn)行可安裝的軟件包,以便達(dá)到自動(dòng)運(yùn)行的效果。步驟130:當(dāng)出現(xiàn)所述軟件包的安裝界面時(shí)分析所述安裝界面的內(nèi)容,獲得所述安裝界面中繼續(xù)安裝類按鍵的位置信息。在運(yùn)行可安裝的軟件包之后,會(huì)出現(xiàn)各種安裝界面。進(jìn)而,就需要對(duì)安裝界面進(jìn)行分析,通過(guò)分析安裝界面的內(nèi)容,獲得安裝界面中繼續(xù)安裝類按鍵的位置信息。本發(fā)明實(shí)施例中所述的繼續(xù)安裝類按鍵,包括但不限于“繼續(xù)安裝”、“繼續(xù)”、“下一步”、“next”、“一”等,只要表示要將安裝操作繼續(xù)的按鍵都屬于本發(fā)明實(shí)施例中的繼續(xù)安裝類按鍵。獲得繼續(xù)安裝類按鍵的位置信息的具體實(shí)現(xiàn)方式有多種,下面僅給出幾種具體實(shí)現(xiàn)方式的示例。(一)獲得繼續(xù)安裝類按鍵的位置信息的第一具體實(shí)現(xiàn)方式A:調(diào)用用以枚舉界面上控件類型的系統(tǒng)API函數(shù),查找當(dāng)前安裝界面上按鍵類型的控件;B:分析所述按鍵類型的控件的文本內(nèi)容,找出所述文本內(nèi)容屬于繼續(xù)安裝類的按鍵;C:通過(guò)調(diào)用用以獲取位置信息的系統(tǒng)API函數(shù),獲得所述繼續(xù)安裝類按鍵的位置信息。具體而言,對(duì)于不同的操作系統(tǒng),調(diào)用的API函數(shù)不盡相同,以windows為例,可以調(diào)用EnumChildWindows這個(gè)WindowsAPI枚舉安裝界面上的控件類型和控件值,控件類型多種多樣,比如Static、各種Button、TRzBitBtn等等。其中,如果控件類型為“Button、TButton、TNewButton、TTntButton.UnicodeClass、obj_BUTT0N、TRzBitBtn,,等類型,則表明該控件是按鍵類型。在找出按鍵類型的控件后,就可以分析這些控件的文本內(nèi)容,比如分析出其中哪些按鍵上的文本內(nèi)容屬于繼續(xù)安裝類的文本,比如文本內(nèi)容是“繼續(xù)安裝”、“繼續(xù)”、“下一步”等等,于是就找到本文內(nèi)容屬于繼續(xù)安裝類的按鍵。最后,通過(guò)調(diào)用可以獲得控件位置信息的API函數(shù)獲得繼續(xù)安裝類按鍵的位置信息,如用API函數(shù)FindWindow和FindffindowEx找到控件句柄后,再用GetWindowRect獲取到控件的位置等所需信息。(二)獲得繼續(xù)安裝類按鍵的位置信息的第二具體實(shí)施例方式A:調(diào)用用以枚舉界面上控件類型的系統(tǒng)API函數(shù),查找當(dāng)前安裝界面上按鍵類型的控件;B:調(diào)用用以查找按鍵不可用的系統(tǒng)API函數(shù),找出所述控件中不可點(diǎn)擊的按鍵類型的控件;C:分析所述按鍵類型的控件的文本內(nèi)容,找出所述文本內(nèi)容屬于停止安裝類的按鍵;D:通過(guò)在所有的按鍵中過(guò)濾掉不可點(diǎn)擊的按鍵和所述停止安裝類的按鍵,找出繼續(xù)安裝類的按鍵和后退安裝類的按鍵;E:根據(jù)所述繼續(xù)安裝類的按鍵和后退安裝類的按鍵之間的位置關(guān)系,或者通過(guò)模擬試點(diǎn)擊的方式,找出繼續(xù)安裝類的按鍵;F:通過(guò)調(diào)用用以獲取位置信息的系統(tǒng)API函數(shù),獲得所述繼續(xù)安裝類按鍵的位置信息。具體言之,第二具體實(shí)施方式中的步驟A和第一具體實(shí)施方式中的步驟A—樣,所以不再贅述。在本實(shí)施方式中的步驟B,在Windows下,可以通過(guò)IsWindowEnabled這個(gè)WindowsAPI判斷按鍵控件是否可用,即是否可點(diǎn)擊,從而找出不可點(diǎn)擊的按鍵。本實(shí)施方式中的步驟C與前文第一實(shí)施方式中的步驟C使用的技術(shù)原理一樣,只不過(guò)查找的不是繼續(xù)安裝類的按鍵,而是查找停止安裝類的按鍵,比如按鍵的文本內(nèi)容是“取消”、“cancel”、“停止安裝”等代表不再繼續(xù)安裝、停止安裝的意思。之所以本步驟如此操作,是因?yàn)橥ǔ@^續(xù)安裝類按鍵的文本表示內(nèi)容多種多樣,可能無(wú)法窮盡,而停止安裝類按鍵的文本表示內(nèi)容相對(duì)比較固定、種類較少,因此,可以通過(guò)排除法,先找出停止類按鍵,然后再一步步排除。找出不可點(diǎn)擊的按鍵和停止類按鍵之后,剩余的基本就是繼續(xù)安裝類的按鍵和后退安裝類按鍵。通常后退安裝類按鍵和繼續(xù)安裝類按鍵之間有比較固定的位置關(guān)系,比如,繼續(xù)安裝類按鍵通常在后退安裝類按鍵的右側(cè),于是就可以確定右側(cè)的按鍵是繼續(xù)安裝類的按鍵?;蛘?,也可以通過(guò)試點(diǎn)擊的方式來(lái)確定哪個(gè)是繼續(xù)安裝類按鍵,比如,保存上一安裝界面,模擬試點(diǎn)擊繼續(xù)安裝類按鍵和后退安裝類按鍵中的某一個(gè),試點(diǎn)擊之后,將新出現(xiàn)的安裝界面與已保存的上一安裝界面對(duì)比,如果兩個(gè)界面一樣,說(shuō)明試點(diǎn)擊的按鍵是后退安裝類按鍵,反之,則說(shuō)明試點(diǎn)擊的按鍵是繼續(xù)安裝類的按鍵。步驟F中獲取繼續(xù)安裝類按鍵的位置信息的具體實(shí)現(xiàn)與第一實(shí)施方式中的步驟C一樣,不再贅述。需要說(shuō)明的是,雖然第二種具體實(shí)施方式獲得位置信息的方式較第一具體實(shí)施方式復(fù)雜,但是通用性相對(duì)更強(qiáng),所以各有優(yōu)勢(shì),可以在不同實(shí)際情況下單獨(dú)使用,也可以將兩者結(jié)合使用。比如,可以在通過(guò)第一具體實(shí)施方式無(wú)法找出繼續(xù)安裝類按鍵的情況下,再采用第二種具體實(shí)施方式進(jìn)行查找。(三)獲得繼續(xù)安裝類按鍵的位置信息的第三具體實(shí)施例方式在通過(guò)某種方式已經(jīng)獲得某軟件包安裝過(guò)程中的一安裝界面的繼續(xù)安裝類按鍵的位置信息,那可以通過(guò)下述方式獲得該軟件包后續(xù)安裝界面上繼續(xù)安裝類按鍵的位置信息根據(jù)繼續(xù)安裝類按鍵在上一安裝界面中所處的位置信息,在當(dāng)前安裝界面中的雷同位置識(shí)別出所述當(dāng)前安裝界面中繼續(xù)安裝類按鍵的位置信息。一般而言,針對(duì)同一軟件包而言,各安裝界面上繼續(xù)安裝類按鍵在界面上的位置都是相對(duì)固定的,因此,可以根據(jù)繼續(xù)安裝類按鍵在上一安裝界面中的所處位置,判斷出下一安裝界面中繼續(xù)安裝類按鍵的位置。步驟140:根據(jù)所述繼續(xù)安裝類按鍵的位置信息,模擬點(diǎn)擊所述繼續(xù)安裝類按鍵,直至所述軟件包的安裝完成為止。模擬點(diǎn)擊的具體實(shí)現(xiàn)方式很多,比如可以采用模擬鼠標(biāo)點(diǎn)擊的方式,也可以采用模擬鍵盤點(diǎn)擊的方式,還可以采用模擬觸摸點(diǎn)擊的方式。比如,模擬鼠標(biāo)點(diǎn)擊而言,可以通過(guò)發(fā)送消息來(lái)實(shí)現(xiàn),主要是通過(guò)SendMessage和PostMessage來(lái)實(shí)現(xiàn),如下所示SendMessage(hffnd,WM_COMMAND,MAKELPARAM(BN_CLICK,ID),hButtonffnd)。再比如,還可以首先需要通過(guò)SetCursorPos函數(shù)來(lái)設(shè)置需要單擊的位置坐標(biāo),然后通過(guò)mouse_event等函數(shù)(包括MOUSEEVENTF_LEFTDOWN、MOUSEEVENTF_LEFTUP、MOUSEEVENTF_MOVE等多種參數(shù))模擬在對(duì)應(yīng)的位置按下、釋放、移動(dòng)等操作,從而達(dá)到模擬點(diǎn)擊的效果。采用模擬鍵盤點(diǎn)擊的具體實(shí)現(xiàn)與采用模擬鼠標(biāo)點(diǎn)擊的方案類似,只是在選中按鍵后將SendMessage和PostMessage中鼠標(biāo)點(diǎn)擊的參數(shù)替換為鍵盤點(diǎn)擊的參數(shù)(比如替換為回車的參數(shù)),此處不再贅述。模擬觸摸點(diǎn)擊的方式,也是類似的,也可以通過(guò)SendMessage和PostMessage來(lái)實(shí)現(xiàn)。當(dāng)然,還有很多其他的模擬點(diǎn)擊方式,此處不再贅述,任何可以實(shí)現(xiàn)模擬點(diǎn)擊的技術(shù)實(shí)現(xiàn)方式都可以應(yīng)用在本發(fā)明實(shí)施例中。此外,此處介紹的模擬點(diǎn)擊方式,不限于模擬點(diǎn)擊繼續(xù)安裝類按鍵,還適用于模擬點(diǎn)擊其他按鍵,也適用于本發(fā)明實(shí)施例中其他需要模擬點(diǎn)擊的技術(shù)點(diǎn),因?yàn)閷?shí)現(xiàn)原理一樣,故其他涉及模擬點(diǎn)擊的部分不再贅述,請(qǐng)參看此處描述。軟件包的安裝過(guò)程一般會(huì)涉及多個(gè)安裝界面,也就是需要模擬點(diǎn)擊多個(gè)繼續(xù)安裝類按鍵,才能最終完成安裝過(guò)程,所以可以重復(fù)查找繼續(xù)安裝類按鍵以及模擬點(diǎn)擊的步驟,直到安裝完成為止。一般通過(guò)界面上的信息可以自動(dòng)判斷安裝是否完成,比如,如果界面中有控件類型為ctrll且值包含valuel的控件,且有控件類型為ctrl2且值為value2的控件(例如可簡(jiǎn)寫成規(guī)則〈rulevalue=//ctrlliivalueliictrl2iivalue2///>),則被認(rèn)為該軟件成功安裝。其他可以判斷安裝已完成的方式也應(yīng)該應(yīng)用到本發(fā)明實(shí)施例中,比如采用分析界面中按鍵文本內(nèi)容的方式,如果分析出有“完成”、“安裝完成”等表述安裝完成類的文字,則也可證明安裝完成,點(diǎn)擊安裝完成類的按鍵結(jié)束整個(gè)安裝過(guò)程。通過(guò)以上各步驟就可以完成多數(shù)軟件的自動(dòng)安裝。不過(guò)由于軟件包的差異化,在有些軟件包的安裝過(guò)程中,可能除了出現(xiàn)包括繼續(xù)安裝類按鍵的常規(guī)安裝界面之外,還可能會(huì)出現(xiàn)其他的安裝界面,比如協(xié)議頁(yè)、組件頁(yè),或者提示框等,或者出現(xiàn)解壓縮、環(huán)境準(zhǔn)備過(guò)程或者語(yǔ)言選擇等非必然出現(xiàn)的各種情況,下面對(duì)可能出現(xiàn)的這幾種情況進(jìn)行詳細(xì)說(shuō)明。本領(lǐng)域技術(shù)人員可以理解,如果沒(méi)有出現(xiàn)上述這幾種特殊的情況,則不需要相關(guān)操作。(I)介紹如何處理軟件包安裝過(guò)程中可能出現(xiàn)的協(xié)議頁(yè)。在具體實(shí)現(xiàn)時(shí),分析當(dāng)前安裝界面中是否包含協(xié)議類型的控件,識(shí)別出當(dāng)前安裝界面為協(xié)議頁(yè);如果當(dāng)前協(xié)議頁(yè)中的繼續(xù)安裝類按鍵不可點(diǎn)擊,則獲取協(xié)議同意類型控件的按鍵位置信息;模擬點(diǎn)擊所述協(xié)議同意類型控件的按鍵,直到所述繼續(xù)安裝類按鍵可以點(diǎn)擊為止。比如,以windows為例,可以調(diào)用EnumChildWindows這個(gè)WindowsAPI枚舉安裝界面上的控件類型和控件值,控件類型多種多樣,比如Static、各種Button、TRzBitBtn等等。如果出現(xiàn)類型為RadioButton、TNewRadioButton、TRadioButton、TTntRadioButton.UnicodeClass,TCheckBox等控件時(shí),就認(rèn)為是協(xié)議頁(yè)中“同意”或“不同意”對(duì)應(yīng)的控件,進(jìn)而,就可以識(shí)別出當(dāng)前安裝界面是協(xié)議頁(yè)。通常而言,在協(xié)議頁(yè)中,如果當(dāng)前選默認(rèn)選中的是“不同意”,那么該安裝界面中繼續(xù)安裝類按鍵是不可點(diǎn)擊的。所以,可以先通過(guò)前文所述的多種方式查找到當(dāng)前安裝界面中的繼續(xù)安裝類按鍵,并判斷該按鍵是否可以點(diǎn)擊,如果不可點(diǎn)擊,則獲得“同意”和“不同意”兩個(gè)按鍵的位置信息,通過(guò)模擬點(diǎn)擊的方式嘗試點(diǎn)擊其中的任一按鍵,如果點(diǎn)擊后發(fā)現(xiàn)該安裝界面中繼續(xù)安裝類按鍵還是不可點(diǎn)擊,那么證明當(dāng)前嘗試點(diǎn)擊(選中)的是“不同意”,于是再點(diǎn)擊另外一個(gè)按鍵,會(huì)發(fā)現(xiàn)該界面中繼續(xù)安裝類按鍵點(diǎn)擊了,于是也說(shuō)明當(dāng)前選中點(diǎn)擊的按鍵是協(xié)議“同意按鍵”。反之,如果初次嘗試模擬點(diǎn)擊一按鍵后,繼續(xù)安裝類按鍵可以點(diǎn)擊了,那么就證明初次嘗試模擬點(diǎn)擊的是協(xié)議“同意”按鍵。當(dāng)然,還可以分析當(dāng)前安裝界面中的文本內(nèi)容,找到“同意”或“不同意”的文本內(nèi)容,從而確定哪個(gè)按鍵是“同意”對(duì)應(yīng)的控件,進(jìn)而獲得該按鍵的位置信息,通過(guò)模擬點(diǎn)擊“同意”的按鍵控件,以便繼續(xù)安裝類按鍵可以點(diǎn)擊。在繼續(xù)安裝類按鍵可以點(diǎn)擊后,就可以通過(guò)步驟140模擬點(diǎn)擊該類按鍵,逐步完成軟件的安裝。(2)介紹如何處理軟件包安裝過(guò)程中可能出現(xiàn)的組件頁(yè)。分析當(dāng)前安裝界面中是否包含組件類型的控件,識(shí)別出當(dāng)前安裝界面為組件頁(yè);模擬點(diǎn)擊所述組件頁(yè)中所有組件類型控件的按鍵。與前述識(shí)別協(xié)議頁(yè)的實(shí)現(xiàn)方案類似,調(diào)用EnumChildWindows這個(gè)WindowsAPI枚舉安裝界面上的控件類型和控件值,如果出現(xiàn)類型為“TNewCheckListBox、CheckLiStBox”等組件類型的控件,則認(rèn)為當(dāng)前安裝頁(yè)是組件頁(yè)。進(jìn)而,通過(guò)模擬點(diǎn)擊的方式將控件中可點(diǎn)擊的組件選中。優(yōu)選的,由于不同組件會(huì)釋放不同的文件,因此優(yōu)選,為了在安裝過(guò)程使得要收集的文件更全面,可以將所有要可選擇的組件都選中。同理,在選擇好組件后,模擬點(diǎn)擊當(dāng)前安裝頁(yè)面中的繼續(xù)安裝類按鍵即可進(jìn)入下一個(gè)安裝界面。(3)介紹如何處理軟件包安裝過(guò)程中可能出現(xiàn)的提示框。具體而言,在軟件安裝過(guò)程中可能出現(xiàn)因各種原因出現(xiàn)的各種提示框,比如提示“文件夾已存在”、“是否確實(shí)要安裝”等等提示框,雖然提示框的種類繁多,但通常無(wú)論是因何種原因出現(xiàn)何種提示框,一般提示框中可點(diǎn)擊的按鍵只有兩類,一類是確認(rèn)類按鍵,如“確認(rèn)”、“0K”等;另一類是取消類按鍵,如“取消”、“cancel”等等。因此可以通過(guò)下述方式自動(dòng)處理提示框。如,將當(dāng)前彈出的彈出框尺寸與所述安裝界面尺寸比較,如果彈出框的尺寸小于安裝界面的尺寸,則識(shí)別該彈出框?yàn)樘崾究?。可選的,為了防止不同安裝界面尺寸之間存在微小誤差,可以考慮當(dāng)彈出框的尺寸小于所述安裝界面的程度超過(guò)預(yù)置范圍時(shí),才將其識(shí)別為提示框,否則還認(rèn)為是安裝界面。比如可以設(shè)定如果當(dāng)前彈出框的尺寸小于安裝界面尺寸的幾分之幾時(shí),就確定當(dāng)天的彈出框是提示框,至于預(yù)置的范圍具體是多少,以及設(shè)置為長(zhǎng)度、寬度,還是面積,則可以根據(jù)具體實(shí)際情況而定,本發(fā)明對(duì)此并沒(méi)有限制。然后調(diào)用用以枚舉提示框中控件類型的系統(tǒng)API函數(shù),查找所述提示框中按鍵類型的控件;在所述按鍵類型的控件中識(shí)別出確認(rèn)類按鍵;通過(guò)調(diào)用用以獲得位置信息的系統(tǒng)API函數(shù),獲得所述提示框中確認(rèn)類按鍵的位置信息;模擬點(diǎn)擊所述提示框中的確認(rèn)類按鍵。與識(shí)別安裝界面中的繼續(xù)安裝類按鍵的具體實(shí)現(xiàn)類似,識(shí)別出確認(rèn)類按鍵的方式也有多種。比如可以分析所述按鍵類型的控件的文本內(nèi)容,獲得所述文本內(nèi)容屬于確認(rèn)類的按鍵;或者,分析所述按鍵類型的控件的文本內(nèi)容,獲得所述文本內(nèi)容屬于取消類的按鍵,從所述提示框的按鍵中過(guò)濾取消類按鍵,得到確認(rèn)類按鍵。其余步驟的具體實(shí)現(xiàn)也與前述繼續(xù)安裝類按鍵的相關(guān)步驟實(shí)現(xiàn)雷同,故不再贅述。(4)介紹如何處理需要解壓縮的軟件包、環(huán)境準(zhǔn)備過(guò)程、正在安裝過(guò)程或者語(yǔ)言選擇等可能出現(xiàn)的情況。有些可安裝的軟件包在下載時(shí)是壓縮包,因此需要進(jìn)行解壓縮。多數(shù)情況下運(yùn)行軟件包時(shí)會(huì)自動(dòng)識(shí)別壓縮格式,進(jìn)而通過(guò)對(duì)應(yīng)的解壓工具進(jìn)行解壓。解壓過(guò)程中,在安裝界面上一般會(huì)出現(xiàn)進(jìn)度條的控件,因此可以通過(guò)分析當(dāng)前安裝界面中是否存在進(jìn)度條類型的控件,來(lái)判斷當(dāng)前是否處于解壓狀態(tài)??蛇x的,為了處理個(gè)別情況下因無(wú)法正確解壓而造成不能正常安裝,可以設(shè)置一超時(shí)機(jī)制,當(dāng)超過(guò)預(yù)設(shè)時(shí)間解壓進(jìn)度條仍然沒(méi)有消失,則停止安裝,即模擬點(diǎn)擊當(dāng)然安裝界面上的停止安裝類按鍵。在安裝過(guò)程中可能會(huì)出現(xiàn)包括語(yǔ)言選擇的安裝界面,通過(guò)分析安裝界面上的文字信息可以識(shí)別出語(yǔ)言選擇界面,比如界面上有“語(yǔ)言”或“l(fā)anguage”等內(nèi)容,則確認(rèn)當(dāng)前安裝界面是語(yǔ)言選擇界面,通常情況下,選擇按照默認(rèn)選項(xiàng)即可,然后模擬點(diǎn)擊該安裝界面上的繼續(xù)安裝類按鍵。此外,在安裝過(guò)程中還可能出現(xiàn)處于環(huán)境準(zhǔn)備過(guò)程的階段,這個(gè)階段對(duì)安裝基本沒(méi)有影響,在該階段,安裝界面中的繼續(xù)安裝類按鍵一般是灰的,即無(wú)法點(diǎn)擊狀態(tài),只有環(huán)境準(zhǔn)備過(guò)程結(jié)束后,繼續(xù)安裝類按鍵才可以點(diǎn)擊,進(jìn)而通過(guò)模擬點(diǎn)擊繼續(xù)安裝類按鍵即可進(jìn)入下一安裝界面。此外,在軟件安裝過(guò)程中還可能會(huì)出現(xiàn)處于正在安裝的過(guò)程階段,在這個(gè)階段可以通過(guò)安裝界面上的安裝進(jìn)度條控件,判斷當(dāng)前安裝處于正在安裝的階段,在該階段一般不需要模擬點(diǎn)擊任何按鍵,只需等待正在安裝過(guò)程結(jié)束后自動(dòng)彈出下一安裝界面,通常是安裝完成的界面。通過(guò)前面的各個(gè)步驟,已經(jīng)完成的軟件包的安裝,那么后續(xù)就可以對(duì)在安裝過(guò)程中釋放的文件進(jìn)行收集。步驟150:監(jiān)控所述軟件包安裝過(guò)程中釋放的文件。具體而言,可以通過(guò)調(diào)用鉤子函數(shù)捕獲到文件操作流,獲得在軟件包安裝過(guò)程中釋放的文件的文件路徑。在Windows操作系統(tǒng)中,Windows操作系統(tǒng)工作于CPU的保護(hù)模式下,操作系統(tǒng)內(nèi)核及設(shè)備驅(qū)動(dòng)程序工作于O環(huán)(ringO),稱為核心態(tài);應(yīng)用程序、動(dòng)態(tài)鏈接庫(kù)工作于3環(huán),稱為用戶態(tài)。Windows提供的對(duì)文件操作的API都工作于用戶態(tài),只能供應(yīng)用程序程序使用。要實(shí)現(xiàn)對(duì)文件操作過(guò)濾(也可稱監(jiān)控),就需要在文件系統(tǒng)驅(qū)動(dòng)程序?qū)崿F(xiàn)。當(dāng)應(yīng)用程序(比如在安裝軟件包的過(guò)程中)對(duì)文件進(jìn)行操作時(shí),將操作請(qǐng)求下傳到處于內(nèi)核態(tài)的I/O管理器,I/O管理器根據(jù)來(lái)自用戶態(tài)的請(qǐng)求,建立相應(yīng)的IRP包(I/Orequestpacket),并將IRP發(fā)送到文件系統(tǒng)驅(qū)動(dòng)程序處理。文件系統(tǒng)驅(qū)動(dòng)程序本身是一個(gè)分層的驅(qū)動(dòng)模型,上層是文件系統(tǒng)過(guò)濾驅(qū)動(dòng)程序,中間是NTFS(NewTechnologyFileSystem,新技術(shù)檔案系統(tǒng))、FAT(FileAllocationTable,檔案配置表)等文件系統(tǒng)驅(qū)動(dòng)程序,底層是存儲(chǔ)設(shè)備驅(qū)動(dòng)程序。對(duì)軟件包安裝過(guò)程中釋放的文件的監(jiān)控,就是在文件系統(tǒng)驅(qū)動(dòng)程序分層中的上層掛鉤子,過(guò)濾IRP包,獲得關(guān)心的文件操作,比如獲得安裝過(guò)程中釋放的文件的文件路徑。具體而言,可以通過(guò)fnlnstall函數(shù)安裝鉤子,通過(guò)fnStartHookEx啟動(dòng)鉤子,添加回調(diào)函數(shù),然后通過(guò)fnAddRule添加過(guò)濾規(guī)則,獲得在軟件包安裝過(guò)程中釋放的各種文件的文件路徑等信息。步驟160:收集在所述軟件包的安裝過(guò)程中釋放的所需的文件。根據(jù)步驟150監(jiān)控獲得的文件的文件路徑,收集在軟件包的安裝過(guò)程中釋放的所需的文件。具體而言,從釋放的文件中識(shí)別出屬于所需類型(如PE類和/或腳本類)的文件,然后根據(jù)這些文件的文件路徑,拷貝這些文件,收集的文件包括但不限于新增的文件,還可以包括修改或刪除的文件(比如安裝升級(jí)包過(guò)程中可能會(huì)涉及),而且可以根據(jù)文件路徑,在對(duì)原有文件進(jìn)行修改或刪除之前進(jìn)行拷貝,從而保存更全面的文件。此外,為了更全面的收集文件,可以通過(guò)調(diào)用系統(tǒng)API函數(shù)獲得收集的文件的文件屬性信息,比如包括文件的大小、創(chuàng)建時(shí)間、修改時(shí)間、文件簽名等中的任意一種或多種。在具體實(shí)現(xiàn)時(shí),例如可以通過(guò)GetFiIeSize獲得文件的大小,通過(guò)FindFirstFile獲得文件創(chuàng)建、修改時(shí)間,通過(guò)CertGetNameString獲取簽名串,通過(guò)WinVerifyTrust獲得驗(yàn)證簽名串有效性等等。收集到上述文件和文件屬性信息后,可以保存在本地或者傳輸給服務(wù)器保存。以上公開了本發(fā)明一種用于實(shí)現(xiàn)文件收集的方法實(shí)施例,與所述方法實(shí)施例相對(duì)應(yīng),本發(fā)明還公開了一種用于實(shí)現(xiàn)文件收集的裝置實(shí)施例,請(qǐng)參看圖2,其為本發(fā)明一種用于實(shí)現(xiàn)文件收集的裝置第一實(shí)施例示意圖。由于裝置實(shí)施例基本相似于方法實(shí)施例,所以描述得比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說(shuō)明即可。下述描述的裝置實(shí)施例僅僅是示意性的。所述裝置實(shí)施例包括軟件包獲得單元201,用于獲得可安裝的軟件包;運(yùn)行單元202,用于運(yùn)行所述可安裝的軟件包;第一位置分析單元203,用于當(dāng)出現(xiàn)所述軟件包的安裝界面時(shí)分析所述安裝界面的內(nèi)容,獲得所述安裝界面中繼續(xù)安裝類按鍵的位置信息;模擬點(diǎn)擊單元204,用于根據(jù)所述繼續(xù)安裝類按鍵的位置信息,模擬點(diǎn)擊所述繼續(xù)安裝類按鍵,直至所述軟件包的安裝完成為止;監(jiān)控單元205,用于監(jiān)控所述軟件包安裝過(guò)程中釋放的文件;收集單元206,用于收集在所述軟件包的安裝過(guò)程中釋放的所需的文件。第一位置分析單元203有多種具體實(shí)施方式,下面示意性的給出兩種,這兩種具體實(shí)施方式可以單獨(dú)使用,也可以結(jié)合使用??蛇x的,第一位置分析單元203包括第一查找單元,用于調(diào)用用以枚舉界面上控件類型的系統(tǒng)API函數(shù),查找當(dāng)前安裝界面上按鍵類型的控件;第一分析單元,用于分析所述按鍵類型的控件的文本內(nèi)容,找出所述文本內(nèi)容屬于繼續(xù)安裝類的按鍵;第一位置獲得單元,用于通過(guò)調(diào)用用以獲取位置信息的系統(tǒng)API函數(shù),獲得所述繼續(xù)安裝類按鍵的位置信息??蛇x的,所述第一位置分析單元203包括第二查找單元,用于調(diào)用用以枚舉界面上控件類型的系統(tǒng)API函數(shù),查找當(dāng)前安裝界面上按鍵類型的控件;第三查找單元,用于調(diào)用用以查找按鍵不可用的系統(tǒng)API函數(shù),找出所述控件中不可點(diǎn)擊的按鍵類型的控件;第二分析單元,用于分析所述按鍵類型的控件的文本內(nèi)容,找出所述文本內(nèi)容屬于停止安裝類的按鍵;過(guò)濾單元,用于通過(guò)在所有的按鍵中過(guò)濾掉不可點(diǎn)擊的按鍵和所述停止安裝類的按鍵,找出繼續(xù)安裝類的按鍵和后退安裝類的按鍵;第四查找單元,用于根據(jù)所述繼續(xù)安裝類的按鍵和后退安裝類的按鍵之間的位置關(guān)系,或者通過(guò)模擬試點(diǎn)擊的方式,找出繼續(xù)安裝類的按鍵;第二位置獲得單元,用于通過(guò)調(diào)用用以獲取位置信息的系統(tǒng)API函數(shù),獲得所述繼續(xù)安裝類按鍵的位置信息??蛇x的,所述裝置還可以包括第二位置分析單元,用于根據(jù)繼續(xù)安裝類按鍵在上一安裝界面中所處的位置信息,在當(dāng)前安裝界面中的雷同位置識(shí)別出所述當(dāng)前安裝界面中繼續(xù)安裝類按鍵的位置信息??蛇x的,所述裝置還可以包括協(xié)議頁(yè)識(shí)別單元,用于分析當(dāng)前安裝界面中是否包含協(xié)議類型的控件,識(shí)別出當(dāng)前安裝界面為協(xié)議頁(yè);第三位置分析單元,用于如果當(dāng)前協(xié)議頁(yè)中的繼續(xù)安裝類按鍵不可點(diǎn)擊,則獲取協(xié)議同意類型控件的按鍵位置信息;第二模擬點(diǎn)擊單元,用于模擬點(diǎn)擊所述協(xié)議同意類型控件的按鍵,直到所述繼續(xù)安裝類按鍵可以點(diǎn)擊為止??蛇x的,所述裝置還可以包括組件識(shí)別單元,用于分析當(dāng)前安裝界面中是否包含組件類型的控件,識(shí)別出當(dāng)前安裝界面為組件頁(yè);第三模擬點(diǎn)擊單元,用于模擬點(diǎn)擊所述組件頁(yè)中所有組件類型控件的按鍵??蛇x的,所述裝置還可以包括提示框識(shí)別單元,用于將當(dāng)前彈出的彈出框尺寸與所述安裝界面尺寸比較,如果所述彈出框的尺寸小于所述安裝界面的尺寸,或小于所述安裝界面的程度超過(guò)預(yù)置范圍,則識(shí)別所述彈出框?yàn)樘崾究颍坏谖宀檎覇卧?,用于枚舉所述提示框中控件類型的系統(tǒng)API函數(shù),查找所述提示框中按鍵類型的控件;確認(rèn)識(shí)別單元,用于在所述按鍵類型的控件中識(shí)別出確認(rèn)類按鍵;第四位置分析單元,用于通過(guò)調(diào)用用以獲得位置信息的系統(tǒng)API函數(shù),獲得所述提示框中確認(rèn)類按鍵的位置信息;第四模擬點(diǎn)擊單元,用于模擬點(diǎn)擊所述提示框中的確認(rèn)類按鍵。以上各單元中提及的模擬點(diǎn)擊都有多種具體實(shí)現(xiàn)方式,比如可以是模擬鼠標(biāo)點(diǎn)擊、模擬鍵盤點(diǎn)擊和模擬觸摸點(diǎn)擊中的任意一種??蛇x的,監(jiān)控單元205,具體用于通過(guò)調(diào)用鉤子函數(shù)捕獲到文件操作流,獲得在所述軟件包安裝過(guò)程中釋放的文件的文件路徑;收集單元206,具體用于根據(jù)所述監(jiān)控單元提供的文件路徑,收集在所述軟件包的安裝過(guò)程中釋放的所需的文件。可選的,收集單元206具體包括識(shí)別子單元,用于從所述軟件包安裝過(guò)程中釋放的文件中識(shí)別出屬于PE類的文件和/或腳本類的文件;拷貝子單元,用于拷貝所述PE類文件和/或腳本類文件;屬性獲得子單元,用于通過(guò)調(diào)用系統(tǒng)API函數(shù)獲得所述PE類文件和/或腳本類文件的文件屬性信息。其中,屬性獲得子單元,具體用于獲得所述PE類文件和/或腳本類文件的大小、創(chuàng)建時(shí)間、修改時(shí)間、文件簽名中的任意一種或多種。通過(guò)上述一種用于實(shí)現(xiàn)文件收集的方法和裝置實(shí)施例可以看出,本發(fā)明實(shí)施例通過(guò)自動(dòng)安裝軟件包的方式來(lái)收集安裝過(guò)程中釋放出的文件,使得收集到的文件更全面。而且,由于在進(jìn)行安裝過(guò)程中,是通過(guò)分析安裝界面的內(nèi)容,能夠自動(dòng)識(shí)別出需要點(diǎn)擊的按鍵(比如繼續(xù)安裝類的按鍵),并且在識(shí)別之后通過(guò)模擬點(diǎn)擊對(duì)應(yīng)的按鍵,實(shí)現(xiàn)軟件包的完全自動(dòng)安裝。因此,安裝軟件包的效率很高,而且對(duì)軟件包的類型沒(méi)有限制,適用性更廣,所以使得文件收集的效率和全面性都得到了顯著提高。請(qǐng)參閱圖3,其為本發(fā)明公開的一種用于實(shí)現(xiàn)文件自動(dòng)安裝的方法實(shí)施例流程圖。本實(shí)施例中自動(dòng)安裝的具體是先鋒方案也可以應(yīng)用于前述用于實(shí)現(xiàn)文件收集的方法中,而且在前文已經(jīng)對(duì)自動(dòng)安裝的各步驟進(jìn)行了詳細(xì)介紹,兩個(gè)實(shí)施例對(duì)應(yīng)步驟的具體實(shí)現(xiàn)可以相互借鑒。步驟310:獲得可安裝的軟件包。在具體實(shí)現(xiàn)本步驟的過(guò)程中,有多種具體實(shí)施方式。比如,可以由服務(wù)器收集或人工收集當(dāng)前網(wǎng)絡(luò)上提供的下載可安裝的軟件包的鏈接,然后由服務(wù)器自動(dòng)下載或者人工手動(dòng)下載可安裝的軟件包。再比如,監(jiān)控到某臺(tái)計(jì)算機(jī)上有需要更新的軟件,那么可以去下載該軟件的升級(jí)包??砂惭b的軟件包可以是升級(jí)的軟件包,也可以是全新的一款可安裝的軟件包。本發(fā)明實(shí)施例對(duì)如何獲得可安裝的軟件包并沒(méi)有限制,只要能夠獲取到可安裝的軟件包,即可應(yīng)用本發(fā)明實(shí)施例的技術(shù)方案。步驟320:運(yùn)行所述可安裝的軟件包。在具體實(shí)現(xiàn)時(shí),可以通過(guò)點(diǎn)擊來(lái)運(yùn)行可安裝的軟件包。也可以通過(guò)調(diào)用系統(tǒng)API函數(shù)creatprocess,自動(dòng)運(yùn)行可安裝的軟件包,以便達(dá)到自動(dòng)運(yùn)行的效果。步驟330:當(dāng)出現(xiàn)所述軟件包的安裝界面時(shí)分析所述安裝界面的內(nèi)容,獲得所述安裝界面中繼續(xù)安裝類按鍵的位置信息。在運(yùn)行可安裝的軟件包之后,會(huì)出現(xiàn)各種安裝界面。進(jìn)而,就需要對(duì)安裝界面進(jìn)行分析,通過(guò)分析安裝界面的內(nèi)容,獲得安裝界面中繼續(xù)安裝類按鍵的位置信息。本發(fā)明實(shí)施例中所述的繼續(xù)安裝類按鍵,包括但不限于“繼續(xù)安裝”、“繼續(xù)”、“下一步”、“next”、“一”等,只要表示要將安裝操作繼續(xù)的按鍵都屬于本發(fā)明實(shí)施例中的繼續(xù)安裝類按鍵。獲得繼續(xù)安裝類按鍵的位置信息的具體實(shí)現(xiàn)方式有多種,下面僅給出幾種具體實(shí)現(xiàn)方式的示例。(二)獲得繼續(xù)安裝類按鍵的位置信息的第一具體實(shí)現(xiàn)方式A:調(diào)用用以枚舉界面上控件類型的系統(tǒng)API函數(shù),查找當(dāng)前安裝界面上按鍵類型的控件;B:分析所述按鍵類型的控件的文本內(nèi)容,找出所述文本內(nèi)容屬于繼續(xù)安裝類的按鍵;C:通過(guò)調(diào)用用以獲取位置信息的系統(tǒng)API函數(shù),獲得所述繼續(xù)安裝類按鍵的位置信息。具體而言,對(duì)于不同的操作系統(tǒng),調(diào)用的API函數(shù)不盡相同,以windows為例,可以調(diào)用EnumChildWindows這個(gè)WindowsAPI枚舉安裝界面上的控件類型和控件值,控件類型多種多樣,比如Static、各種Button、TRzBitBtn等等。其中,如果控件類型為“Button、TButton、TNewButton、TTntButton.UnicodeClass、obj_BUTT0N、TRzBitBtn”等類型,則表明該控件是按鍵類型。在找出按鍵類型的控件后,就可以分析這些控件的文本內(nèi)容,比如分析出其中哪些按鍵上的文本內(nèi)容屬于繼續(xù)安裝類的文本,比如文本內(nèi)容是“繼續(xù)安裝”、“繼續(xù)”、“下一步”等等,于是就找到本文內(nèi)容屬于繼續(xù)安裝類的按鍵。最后,通過(guò)調(diào)用可以獲得控件位置信息的API函數(shù)獲得繼續(xù)安裝類按鍵的位置信息,如用API函數(shù)FindWindow和FindffindowEx找到控件句柄后,再用GetWindowRect獲取到控件的位置等所需信息。(二)獲得繼續(xù)安裝類按鍵的位置信息的第二具體實(shí)施例方式A:調(diào)用用以枚舉界面上控件類型的系統(tǒng)API函數(shù),查找當(dāng)前安裝界面上按鍵類型的控件;B:調(diào)用用以查找按鍵不可用的系統(tǒng)API函數(shù),找出所述控件中不可點(diǎn)擊的按鍵類型的控件;C:分析所述按鍵類型的控件的文本內(nèi)容,找出所述文本內(nèi)容屬于停止安裝類的按鍵;D:通過(guò)在所有的按鍵中過(guò)濾掉不可點(diǎn)擊的按鍵和所述停止安裝類的按鍵,找出繼續(xù)安裝類的按鍵和后退安裝類的按鍵;E:根據(jù)所述繼續(xù)安裝類的按鍵和后退安裝類的按鍵之間的位置關(guān)系,或者通過(guò)模擬試點(diǎn)擊的方式,找出繼續(xù)安裝類的按鍵;F:通過(guò)調(diào)用用以獲取位置信息的系統(tǒng)API函數(shù),獲得所述繼續(xù)安裝類按鍵的位置信息。具體言之,第二具體實(shí)施方式中的步驟A和第一具體實(shí)施方式中的步驟A—樣,所以不再贅述。在本實(shí)施方式中的步驟B,在Windows下,可以通過(guò)IsWindowEnabled這個(gè)WindowsAPI判斷按鍵控件是否可用,即是否可點(diǎn)擊,從而找出不可點(diǎn)擊的按鍵。本實(shí)施方式中的步驟C與前文第一實(shí)施方式中的步驟C使用的技術(shù)原理一樣,只不過(guò)查找的不是繼續(xù)安裝類的按鍵,而是查找停止安裝類的按鍵,比如按鍵的文本內(nèi)容是“取消”、“cancel”、“停止安裝”等代表不再繼續(xù)安裝、停止安裝的意思。之所以本步驟如此操作,是因?yàn)橥ǔ@^續(xù)安裝類按鍵的文本表示內(nèi)容多種多樣,可能無(wú)法窮盡,而停止安裝類按鍵的文本表示內(nèi)容相對(duì)比較固定、種類較少,因此,可以通過(guò)排除法,先找出停止類按鍵,然后再一步步排除。找出不可點(diǎn)擊的按鍵和停止類按鍵之后,剩余的基本就是繼續(xù)安裝類的按鍵和后退安裝類按鍵。通常后退安裝類按鍵和繼續(xù)安裝類按鍵之間有比較固定的位置關(guān)系,比如,繼續(xù)安裝類按鍵通常在后退安裝類按鍵的右側(cè),于是就可以確定右側(cè)的按鍵是繼續(xù)安裝類的按鍵?;蛘?,也可以通過(guò)試點(diǎn)擊的方式來(lái)確定哪個(gè)是繼續(xù)安裝類按鍵,比如,保存上一安裝界面,模擬試點(diǎn)擊繼續(xù)安裝類按鍵和后退安裝類按鍵中的某一個(gè),試點(diǎn)擊之后,將新出現(xiàn)的安裝界面與已保存的上一安裝界面對(duì)比,如果兩個(gè)界面一樣,說(shuō)明試點(diǎn)擊的按鍵是后退安裝類按鍵,反之,則說(shuō)明試點(diǎn)擊的按鍵是繼續(xù)安裝類的按鍵。步驟F中獲取繼續(xù)安裝類按鍵的位置信息的具體實(shí)現(xiàn)與第一實(shí)施方式中的步驟C一樣,不再贅述。需要說(shuō)明的是,雖然第二種具體實(shí)施方式獲得位置信息的方式較第一具體實(shí)施方式復(fù)雜,但是通用性相對(duì)更強(qiáng),所以各有優(yōu)勢(shì),可以在不同實(shí)際情況下單獨(dú)使用,也可以將兩者結(jié)合使用。比如,可以在通過(guò)第一具體實(shí)施方式無(wú)法找出繼續(xù)安裝類按鍵的情況下,再采用第二種具體實(shí)施方式進(jìn)行查找。(三)獲得繼續(xù)安裝類按鍵的位置信息的第三具體實(shí)施例方式在通過(guò)某種方式已經(jīng)獲得某軟件包安裝過(guò)程中的一安裝界面的繼續(xù)安裝類按鍵的位置信息,那可以通過(guò)下述方式獲得該軟件包后續(xù)安裝界面上繼續(xù)安裝類按鍵的位置信息根據(jù)繼續(xù)安裝類按鍵在上一安裝界面中所處的位置信息,在當(dāng)前安裝界面中的雷同位置識(shí)別出所述當(dāng)前安裝界面中繼續(xù)安裝類按鍵的位置信息。一般而言,針對(duì)同一軟件包而言,各安裝界面上繼續(xù)安裝類按鍵在界面上的位置都是相對(duì)固定的,因此,可以根據(jù)繼續(xù)安裝類按鍵在上一安裝界面中的所處位置,判斷出下一安裝界面中繼續(xù)安裝類按鍵的位置。步驟340:根據(jù)所述繼續(xù)安裝類按鍵的位置信息,模擬點(diǎn)擊所述繼續(xù)安裝類按鍵,直至所述軟件包的安裝完成為止。模擬點(diǎn)擊的具體實(shí)現(xiàn)方式很多,比如可以采用模擬鼠標(biāo)點(diǎn)擊的方式,也可以采用模擬鍵盤點(diǎn)擊的方式,還可以采用模擬觸摸點(diǎn)擊的方式。比如,模擬鼠標(biāo)點(diǎn)擊而言,可以通過(guò)發(fā)送消息來(lái)實(shí)現(xiàn),主要是通過(guò)SendMessage和PostMessage來(lái)實(shí)現(xiàn),如下所示SendMessage(hffnd,WM_C0MMAND,MAKELPARAM(BN_CLICK,ID),hButtonffnd)。再比如,還可以首先需要通過(guò)SetCursorPos函數(shù)來(lái)設(shè)置需要單擊的位置坐標(biāo),然后通過(guò)mouse_event等函數(shù)(包括M0USEEVENTF_LEFTD0WN、MOUSEEVENTF_LEFTUP、M0USEEVENTF_M0VE等多種參數(shù))模擬在對(duì)應(yīng)的位置按下、釋放、移動(dòng)等操作,從而達(dá)到模擬點(diǎn)擊的效果。采用模擬鍵盤點(diǎn)擊的具體實(shí)現(xiàn)與采用模擬鼠標(biāo)點(diǎn)擊的方案類似,只是在選中按鍵后將SendMessage和PostMessage中鼠標(biāo)點(diǎn)擊的參數(shù)替換為鍵盤點(diǎn)擊的相關(guān)參數(shù)(比如替換為回車的參數(shù)),此處不再贅述。模擬觸摸點(diǎn)擊的方式,也是類似的,也可以通過(guò)SendMessage和PostMessage來(lái)實(shí)現(xiàn)。當(dāng)然,還有很多其他的模擬點(diǎn)擊方式,此處不再贅述,任何可以實(shí)現(xiàn)模擬點(diǎn)擊的技術(shù)實(shí)現(xiàn)方式都可以應(yīng)用在本發(fā)明實(shí)施例中。此外,此處介紹的模擬點(diǎn)擊方式,不限于模擬點(diǎn)擊繼續(xù)安裝類按鍵,還適用于模擬點(diǎn)擊其他按鍵,也適用于本發(fā)明實(shí)施例中其他需要模擬點(diǎn)擊的技術(shù)點(diǎn),因?yàn)閷?shí)現(xiàn)原理一樣,故其他涉及模擬點(diǎn)擊的部分不再贅述,請(qǐng)參看此處描述。軟件包的安裝過(guò)程一般會(huì)涉及多個(gè)安裝界面,也就是需要模擬點(diǎn)擊多個(gè)繼續(xù)安裝類按鍵,才能最終完成安裝過(guò)程,所以可以重復(fù)查找繼續(xù)安裝類按鍵以及模擬點(diǎn)擊的步驟,直到安裝完成為止。一般通過(guò)界面上的信息可以自動(dòng)判斷安裝是否完成,比如,如果界面中有控件類型為ctrll且值包含valuel的控件,且有控件類型為ctrl2且值為value2的控件(例如可簡(jiǎn)寫成規(guī)則〈rulevalue=〃ctrIIOOvalueIOOctr12觀value2〃/>),則被認(rèn)為該軟件成功安裝。其他可以判斷安裝已完成的方式也應(yīng)該應(yīng)用到本發(fā)明實(shí)施例中,比如采用分析界面中按鍵文本內(nèi)容的方式,如果分析出有“完成”、“安裝完成”等表述安裝完成類的文字,則也可證明安裝完成,點(diǎn)擊安裝完成類的按鍵結(jié)束整個(gè)安裝過(guò)程。通過(guò)以上各步驟就可以完成多數(shù)軟件的自動(dòng)安裝。不過(guò)由于軟件包的差異化,在有些軟件包的安裝過(guò)程中,可能除了出現(xiàn)包括繼續(xù)安裝類按鍵的常規(guī)安裝界面之外,還可能會(huì)出現(xiàn)其他的安裝界面,比如協(xié)議頁(yè)、組件頁(yè),或者提示框等,或者出現(xiàn)解壓縮、環(huán)境準(zhǔn)備過(guò)程、正在安裝過(guò)程或者語(yǔ)言選擇等非必然出現(xiàn)的各種情況,下面對(duì)可能出現(xiàn)的這幾種情況進(jìn)行詳細(xì)說(shuō)明。本領(lǐng)域技術(shù)人員可以理解,如果沒(méi)有出現(xiàn)上述這幾種特殊的情況,則不需要相關(guān)操作。(I)介紹如何處理軟件包安裝過(guò)程中可能出現(xiàn)的協(xié)議頁(yè)。在具體實(shí)現(xiàn)時(shí),分析當(dāng)前安裝界面中是否包含協(xié)議類型的控件,識(shí)別出當(dāng)前安裝界面為協(xié)議頁(yè);如果當(dāng)前協(xié)議頁(yè)中的繼續(xù)安裝類按鍵不可點(diǎn)擊,則獲取協(xié)議同意類型控件的按鍵位置信息;模擬點(diǎn)擊所述協(xié)議同意類型控件的按鍵,直到所述繼續(xù)安裝類按鍵可以點(diǎn)擊為止。如,以windows為例,可以調(diào)用EnumChildWindows這個(gè)WindowsAPI枚舉安裝界面上的控件類型和控件值,控件類型多種多樣,比如Static、各種Button、TRzBitBtn等等。如果出現(xiàn)類型為RadioButton、TNewRadioButton、TRadioButton、TTntRadioButton.UnicodeClass,TCheckBox等控件時(shí),就認(rèn)為是協(xié)議頁(yè)中“同意”或“不同意”對(duì)應(yīng)的控件,進(jìn)而,就可以識(shí)別出當(dāng)前安裝界面是協(xié)議頁(yè)。通常而言,在協(xié)議頁(yè)中,如果當(dāng)前選默認(rèn)選中的是“不同意”,那么該安裝界面中繼續(xù)安裝類按鍵是不可點(diǎn)擊的。所以,可以先通過(guò)前文所述的多種方式查找到當(dāng)前安裝界面中的繼續(xù)安裝類按鍵,并判斷該按鍵是否可以點(diǎn)擊,如果不可點(diǎn)擊,則獲得“同意”和“不同意”兩個(gè)按鍵的位置信息,通過(guò)模擬點(diǎn)擊的方式嘗試點(diǎn)擊其中的任一按鍵,如果點(diǎn)擊后發(fā)現(xiàn)該安裝界面中繼續(xù)安裝類按鍵還是不可點(diǎn)擊,那么證明當(dāng)前嘗試點(diǎn)擊(選中)的是“不同意”,于是再點(diǎn)擊另外一個(gè)按鍵,會(huì)發(fā)現(xiàn)該界面中繼續(xù)安裝類按鍵點(diǎn)擊了,于是也說(shuō)明當(dāng)前選中點(diǎn)擊的按鍵是協(xié)議“同意按鍵”。反之,如果初次嘗試模擬點(diǎn)擊一按鍵后,繼續(xù)安裝類按鍵可以點(diǎn)擊了,那么就證明初次嘗試模擬點(diǎn)擊的是協(xié)議“同意”按鍵。當(dāng)然,還可以分析當(dāng)前安裝界面中的文本內(nèi)容,找到“同意”或“不同意”的文本內(nèi)容,從而確定哪個(gè)按鍵是“同意”對(duì)應(yīng)的控件,進(jìn)而獲得該按鍵的位置信息,通過(guò)模擬點(diǎn)擊“同意”的按鍵控件,以便繼續(xù)安裝類按鍵可以點(diǎn)擊。在繼續(xù)安裝類按鍵可以點(diǎn)擊后,就可以通過(guò)步驟140模擬點(diǎn)擊該類按鍵,逐步完成軟件的安裝。(2)介紹如何處理軟件包安裝過(guò)程中可能出現(xiàn)的組件頁(yè)。分析當(dāng)前安裝界面中是否包含組件類型的控件,識(shí)別出當(dāng)前安裝界面為組件頁(yè);模擬點(diǎn)擊所述組件頁(yè)中所有組件類型控件的按鍵。與前述識(shí)別協(xié)議頁(yè)的實(shí)現(xiàn)方案類似,調(diào)用EnumChildWindows這個(gè)WindowsAPI枚舉安裝界面上的控件類型和控件值,如果出現(xiàn)類型為“TNewCheckListBox、CheckListBox”等組件類型的控件,則認(rèn)為當(dāng)前安裝頁(yè)是組件頁(yè)。進(jìn)而,通過(guò)模擬點(diǎn)擊的方式將控件中可點(diǎn)擊的組件選中。優(yōu)選的,由于不同組件會(huì)釋放不同的文件,因此優(yōu)選,為了在安裝過(guò)程使得要收集的文件更全面,可以將所有要可選擇的組件都選中。同理,在選擇好組件后,模擬點(diǎn)擊當(dāng)前安裝頁(yè)面中的繼續(xù)安裝類按鍵即可進(jìn)入下一個(gè)安裝界面。(3)介紹如何處理軟件包安裝過(guò)程中可能出現(xiàn)的提示框。具體而言,在軟件安裝過(guò)程中可能出現(xiàn)因各種原因出現(xiàn)的各種提示框,比如提示“文件夾已存在”、“是否確實(shí)要安裝”等等提示框,雖然提示框的種類繁多,但通常無(wú)論是因何種原因出現(xiàn)何種提示框,一般提示框中可點(diǎn)擊的按鍵只有兩類,一類是確認(rèn)類按鍵,如“確認(rèn)”、“0K”等;另一類是取消類按鍵,如“取消”、“cancel”等等。因此可以通過(guò)下述方式自動(dòng)處理提示框。比如,將當(dāng)前彈出的彈出框尺寸與所述安裝界面尺寸比較,如果彈出框的尺寸小于安裝界面的尺寸,則識(shí)別該彈出框?yàn)樘崾究???蛇x的,為了防止不同安裝界面尺寸之間存在微小誤差,可以考慮當(dāng)彈出框的尺寸小于所述安裝界面的程度超過(guò)預(yù)置范圍時(shí),才將其識(shí)別為提示框,否則還認(rèn)為是安裝界面。比如可以設(shè)定如果當(dāng)前彈出框的尺寸小于安裝界面尺寸的幾分之幾時(shí),就確定當(dāng)天的彈出框是提示框,至于預(yù)置的范圍具體是多少,以及設(shè)置為長(zhǎng)度、寬度,還是面積,則可以根據(jù)具體實(shí)際情況而定,本發(fā)明對(duì)此并沒(méi)有限制。然后調(diào)用用以枚舉提示框中控件類型的系統(tǒng)API函數(shù),查找所述提示框中按鍵類型的控件;在所述按鍵類型的控件中識(shí)別出確認(rèn)類按鍵;通過(guò)調(diào)用用以獲得位置信息的系統(tǒng)API函數(shù),獲得所述提示框中確認(rèn)類按鍵的位置信息;模擬點(diǎn)擊所述提示框中的確認(rèn)類按鍵。與識(shí)別安裝界面中的繼續(xù)安裝類按鍵的具體實(shí)現(xiàn)類似,識(shí)別出確認(rèn)類按鍵的方式也有多種。比如可以分析所述按鍵類型的控件的文本內(nèi)容,獲得所述文本內(nèi)容屬于確認(rèn)類的按鍵;或者,分析所述按鍵類型的控件的文本內(nèi)容,獲得所述文本內(nèi)容屬于取消類的按鍵,從所述提示框的按鍵中過(guò)濾取消類按鍵,得到確認(rèn)類按鍵。其余步驟的具體實(shí)現(xiàn)也與前述繼續(xù)安裝類按鍵的相關(guān)步驟實(shí)現(xiàn)雷同,故不再贅述。(4)介紹如何處理需要解壓縮的軟件包、環(huán)境準(zhǔn)備過(guò)程或者語(yǔ)言選擇等可能出現(xiàn)的情況。有些可安裝的軟件包在下載時(shí)是壓縮包,因此需要進(jìn)行解壓縮。多數(shù)情況下運(yùn)行軟件包時(shí)會(huì)自動(dòng)識(shí)別壓縮格式,進(jìn)而通過(guò)對(duì)應(yīng)的解壓工具進(jìn)行解壓。解壓過(guò)程中,在安裝界面上一般會(huì)出現(xiàn)進(jìn)度條的控件,因此可以通過(guò)分析當(dāng)前安裝界面中是否存在進(jìn)度條類型的控件,來(lái)判斷當(dāng)前是否處于解壓狀態(tài)??蛇x的,為了處理個(gè)別情況下因無(wú)法正確解壓而造成不能正常安裝,可以設(shè)置一超時(shí)機(jī)制,當(dāng)超過(guò)預(yù)設(shè)時(shí)間解壓進(jìn)度條仍然沒(méi)有消失,則停止安裝,即模擬點(diǎn)擊當(dāng)然安裝界面上的停止安裝類按鍵。在安裝過(guò)程中可能會(huì)出現(xiàn)包括語(yǔ)言選擇的安裝界面,通過(guò)分析安裝界面上的文字信息可以識(shí)別出語(yǔ)言選擇界面,比如界面上有“語(yǔ)言”或“l(fā)anguage”等內(nèi)容,則確認(rèn)當(dāng)前安裝界面是語(yǔ)言選擇界面,通常情況下,選擇按照默認(rèn)選項(xiàng)即可,然后模擬點(diǎn)擊該安裝界面上的繼續(xù)安裝類按鍵。此外,在安裝過(guò)程中還可能出現(xiàn)處于環(huán)境準(zhǔn)備過(guò)程的階段,這個(gè)階段對(duì)安裝基本沒(méi)有影響,在該階段,安裝界面中的繼續(xù)安裝類按鍵一般是灰的,即無(wú)法點(diǎn)擊狀態(tài),只有環(huán)境準(zhǔn)備過(guò)程結(jié)束后,繼續(xù)安裝類按鍵才可以點(diǎn)擊,進(jìn)而通過(guò)模擬點(diǎn)擊繼續(xù)安裝類按鍵即可進(jìn)入下一安裝界面。此外,在軟件安裝過(guò)程中還可能會(huì)出現(xiàn)處于正在安裝的過(guò)程階段,在這個(gè)階段可以通過(guò)安裝界面上的安裝進(jìn)度條控件,判斷當(dāng)前安裝處于正在安裝的階段,在該階段一般不需要模擬點(diǎn)擊任何按鍵,只需等待正在安裝過(guò)程結(jié)束后自動(dòng)彈出下一安裝界面,通常是安裝完成的界面。以上詳細(xì)介紹了本發(fā)明公開的一種用于實(shí)現(xiàn)文件自動(dòng)安裝的方法實(shí)施例,下面再結(jié)合一款視頻下載器的自動(dòng)安裝的具體實(shí)施方式為例,進(jìn)一步詳細(xì)介紹。請(qǐng)參閱圖4,其為本發(fā)明視頻下載器自動(dòng)安裝具體實(shí)施方式中的第一界面示意圖。該示意圖是在某款視頻軟件包運(yùn)行啟動(dòng)后出現(xiàn)的安裝界面。在這個(gè)軟件包的安裝過(guò)程中,沒(méi)有出現(xiàn)“語(yǔ)言選擇”、“解壓”等過(guò)程,直接進(jìn)入帶有“下一步”,(繼續(xù)安裝類按鍵的一種)的安裝界面。在該安裝界面中識(shí)別“下一步”按鍵。由于在這個(gè)界面中,只有兩個(gè)按鍵“下一步(N)〉”和“取消”按鍵,因此過(guò)濾掉“取消”按鍵,就剩下“下一步(N)〉”按鍵。進(jìn)而模擬點(diǎn)擊該安裝界面中的“下一步(N)>”按鍵進(jìn)入下一個(gè)界面。請(qǐng)繼續(xù)參閱圖5,其為本發(fā)明視頻下載器自動(dòng)安裝具體實(shí)施方式中的第二界面示意圖。該安裝界面是一協(xié)議頁(yè)。可以看出,在該安裝界面上,根據(jù)上一安裝界面中“下一步(N)〉”按鍵位置找到當(dāng)前安裝界面中“下一步(N)〉”按鍵,但是這個(gè)“下一步(N)〉”按鍵是不可點(diǎn)擊的。進(jìn)而,在當(dāng)前安裝界面上通過(guò)控件類型找到“我接受協(xié)議”控件和“我不接受協(xié)議”控件。順序模擬點(diǎn)擊“我接受協(xié)議”控件和“我不接受協(xié)議”控件,當(dāng)模擬點(diǎn)擊“我接受協(xié)議”控件時(shí),出現(xiàn)下一安裝界面。請(qǐng)繼續(xù)參閱圖6,其為本發(fā)明視頻下載器自動(dòng)安裝具體實(shí)施方式中的第三界面示意圖。從該示意圖可以看出,由于已經(jīng)模擬點(diǎn)擊選中了“我接受協(xié)議”控件,因此“下一步(N)〉”變成可點(diǎn)擊狀態(tài)。進(jìn)而,模擬點(diǎn)擊“下一步(N)〉”按鍵,接入下一個(gè)安裝界面。請(qǐng)繼續(xù)參閱圖7,其為本發(fā)明視頻下載器自動(dòng)安裝具體實(shí)施方式中的第四界面示意圖。同理,在該安裝界面中,根據(jù)上一安裝界面中“下一步(N)〉”按鍵位置找到該安裝界面中“下一步(N)〉”按鍵,并模擬點(diǎn)擊“下一步(N)〉”按鍵。進(jìn)入下一個(gè)安裝界面。請(qǐng)繼續(xù)參閱圖8,其為本發(fā)明視頻下載器自動(dòng)安裝具體實(shí)施方式中的第五界面示意圖。同理,在該安裝界面中,根據(jù)上一安裝界面中“下一步(N)〉”按鍵位置找到該安裝界面中“下一步(N)〉”按鍵,并模擬點(diǎn)擊“下一步(N)〉”按鍵。進(jìn)入下一個(gè)安裝界面。請(qǐng)繼續(xù)參閱圖9,其為本發(fā)明視頻下載器自動(dòng)安裝具體實(shí)施方式中的第六界面示意圖。同理,在該安裝界面中,根據(jù)上一安裝界面中“下一步(N)〉”按鍵位置找到該安裝界面中“下一步(N)〉”按鍵,并模擬點(diǎn)擊“下一步(N)〉”按鍵。進(jìn)入下一個(gè)安裝界面。請(qǐng)繼續(xù)參閱圖10,其為本發(fā)明視頻下載器自動(dòng)安裝具體實(shí)施方式中的第七界面示意圖。同理,在該安裝界面中,根據(jù)上一安裝界面中“下一步(N)〉”按鍵位置找到當(dāng)前安裝界面中“安裝(I)”按鍵,因?yàn)橄乱徊?N)〉和“安裝(I)”都屬于繼續(xù)安裝類按鍵,所以同樣可以通過(guò)上一安裝界面中“下一步(N)〉”按鍵位置找到當(dāng)前安裝界面中“安裝(I)”按鍵的位置。進(jìn)而,模擬點(diǎn)擊“下一步(N)〉”按鍵。進(jìn)入下一個(gè)安裝界面。請(qǐng)繼續(xù)參閱圖11,其為本發(fā)明視頻下載器自動(dòng)安裝具體實(shí)施方式中的第八界面示意圖。在當(dāng)前安裝界面中,根據(jù)界面中的進(jìn)度條控件,可以判斷是“正在安裝”過(guò)程,在該步驟不需要做任何操作,等待“正在安裝”過(guò)程結(jié)束。安裝結(jié)束后,會(huì)自動(dòng)進(jìn)入下一安裝界面。請(qǐng)繼續(xù)參閱圖12,其為本發(fā)明視頻下載器自動(dòng)安裝具體實(shí)施方式中的第九界面示意圖。在本步驟就是要判斷軟件包是否正常安裝完成。通過(guò)規(guī)則“STATIC觀安裝向?qū)б淹瓿?的安裝@@BUTT0N@@完成(F)”來(lái)判斷該軟件包是否安裝完成。該規(guī)則含義是,如果界面上出現(xiàn)控件包含“安裝向?qū)б淹瓿?的安裝”的STATIC和包含“完成(F)”的BUTTON,其中是通配符,則說(shuō)明安裝已完成,當(dāng)前安裝界面是安裝已完成的界面。到此為止,軟件包的自動(dòng)安裝完成,程序返回的結(jié)果也是“完成安裝”。與前述一種用于實(shí)現(xiàn)軟件包自動(dòng)安裝的方法實(shí)施例相對(duì)應(yīng),本發(fā)明還公開了一種用于實(shí)現(xiàn)軟件包自動(dòng)安裝的裝置實(shí)施例,請(qǐng)參看圖13,其為本發(fā)明一種用于實(shí)現(xiàn)軟件包自動(dòng)安裝的裝置實(shí)施例示意圖。由于裝置實(shí)施例基本相似于方法實(shí)施例,所以描述得比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說(shuō)明即可。下述描述的裝置實(shí)施例僅僅是示意性的。所述裝置實(shí)施例包括軟件包獲得單元131,用于獲得可安裝的軟件包;運(yùn)行單元132,用于運(yùn)行所述可安裝的軟件包;第一位置分析單元133,用于當(dāng)出現(xiàn)所述軟件包的安裝界面時(shí)分析所述安裝界面的內(nèi)容,獲得所述安裝界面中繼續(xù)安裝類按鍵的位置信息;第一模擬點(diǎn)擊單元134,用于根據(jù)所述繼續(xù)安裝類按鍵的位置信息,模擬點(diǎn)擊所述繼續(xù)安裝類按鍵,直至所述軟件包的安裝完成為止??蛇x的,第一位置分析單元133有多種具體實(shí)施方式,下面示意性的給出兩種,這兩種具體實(shí)施方式可以單獨(dú)使用,也可以結(jié)合使用??蛇x的,第一位置分析單元133包括第一查找單元,用于調(diào)用用以枚舉界面上控件類型的系統(tǒng)API函數(shù),查找當(dāng)前安裝界面上按鍵類型的控件;第一分析單元,用于分析所述按鍵類型的控件的文本內(nèi)容,找出所述文本內(nèi)容屬于繼續(xù)安裝類的按鍵;第一位置獲得單元,用于通過(guò)調(diào)用用以獲取位置信息的系統(tǒng)API函數(shù),獲得所述繼續(xù)安裝類按鍵的位置信息??蛇x的,所述第一位置分析單元133包括第二查找單元,用于調(diào)用用以枚舉界面上控件類型的系統(tǒng)API函數(shù),查找當(dāng)前安裝界面上按鍵類型的控件;第三查找單元,用于調(diào)用用以查找按鍵不可用的系統(tǒng)API函數(shù),找出所述控件中不可點(diǎn)擊的按鍵類型的控件;第二分析單元,用于分析所述按鍵類型的控件的文本內(nèi)容,找出所述文本內(nèi)容屬于停止安裝類的按鍵;過(guò)濾單元,用于通過(guò)在所有的按鍵中過(guò)濾掉不可點(diǎn)擊的按鍵和所述停止安裝類的按鍵,找出繼續(xù)安裝類的按鍵和后退安裝類的按鍵;第四查找單元,用于根據(jù)所述繼續(xù)安裝類的按鍵和后退安裝類的按鍵之間的位置關(guān)系,或者通過(guò)模擬試點(diǎn)擊的方式,找出繼續(xù)安裝類的按鍵;第二位置獲得單元,用于通過(guò)調(diào)用用以獲取位置信息的系統(tǒng)API函數(shù),獲得所述繼續(xù)安裝類按鍵的位置信息??蛇x的,所述裝置還可以包括第二位置分析單元,用于根據(jù)繼續(xù)安裝類按鍵在上一安裝界面中所處的位置信息,在當(dāng)前安裝界面中的雷同位置識(shí)別出所述當(dāng)前安裝界面中繼續(xù)安裝類按鍵的位置信息??蛇x的,所述裝置還可以包括協(xié)議頁(yè)識(shí)別單元,用于分析當(dāng)前安裝界面中是否包含協(xié)議類型的控件,識(shí)別出當(dāng)前安裝界面為協(xié)議頁(yè);第三位置分析單元,用于如果當(dāng)前協(xié)議頁(yè)中的繼續(xù)安裝類按鍵不可點(diǎn)擊,則獲取協(xié)議同意類型控件的按鍵位置信息;第二模擬點(diǎn)擊單元,用于模擬點(diǎn)擊所述協(xié)議同意類型控件的按鍵,直到所述繼續(xù)安裝類按鍵可以點(diǎn)擊為止。可選的,所述裝置實(shí)施例還可以包括組件識(shí)別單元,用于分析當(dāng)前安裝界面中是否包含組件類型的控件,識(shí)別出當(dāng)前安裝界面為組件頁(yè);第三模擬點(diǎn)擊單元,用于模擬點(diǎn)擊所述組件頁(yè)中所有組件類型控件的按鍵??蛇x的,所述裝置實(shí)施例還可以包括提示框識(shí)別單元,用于將當(dāng)前彈出的彈出框尺寸與所述安裝界面尺寸比較,如果所述彈出框的尺寸小于所述安裝界面的尺寸,或小于所述安裝界面的程度超過(guò)預(yù)置范圍,則識(shí)別所述彈出框?yàn)樘崾究?;第五查找單元,用于枚舉所述提示框中控件類型的系統(tǒng)API函數(shù),查找所述提示框中按鍵類型的控件;確認(rèn)識(shí)別單元,用于在所述按鍵類型的控件中識(shí)別出確認(rèn)類按鍵;第四位置分析單元,用于通過(guò)調(diào)用用以獲得位置信息的系統(tǒng)API函數(shù),獲得所述提示框中確認(rèn)類按鍵的位置信息;第四模擬點(diǎn)擊單元,用于模擬點(diǎn)擊所述提示框中的確認(rèn)類按鍵。以上各單元中提及的模擬點(diǎn)擊都有多種具體實(shí)現(xiàn)方式,比如可以是模擬鼠標(biāo)點(diǎn)擊、模擬鍵盤點(diǎn)擊和模擬觸摸點(diǎn)擊中的任意一種。本發(fā)明實(shí)施例不需要事先對(duì)待安裝的軟件包類型進(jìn)行識(shí)別分析、安裝錄制,而是通過(guò)在安裝過(guò)程中對(duì)安裝界面進(jìn)行具體分析找出需要模擬點(diǎn)擊的按鍵,從使得本發(fā)明實(shí)施例的軟件包自動(dòng)安裝方案,可以適用于各種類型軟件包的安裝,因此應(yīng)用范圍更廣,自動(dòng)安裝的效率更高。通過(guò)以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。本說(shuō)明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于裝置或系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述得比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說(shuō)明即可。以上所描述的裝置及系統(tǒng)實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。以上對(duì)本發(fā)明所提供的一種用于實(shí)現(xiàn)文件收集、軟件包自動(dòng)安裝的方法及裝置,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處。綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。權(quán)利要求1.一種用于實(shí)現(xiàn)文件收集的方法,其特征在于,包括獲得可安裝的軟件包;運(yùn)行所述可安裝的軟件包;當(dāng)出現(xiàn)所述軟件包的安裝界面時(shí)分析所述安裝界面的內(nèi)容,獲得所述安裝界面中繼續(xù)安裝類按鍵的位置信息;根據(jù)所述繼續(xù)安裝類按鍵的位置信息,模擬點(diǎn)擊所述繼續(xù)安裝類按鍵,直至所述軟件包的安裝完成為止;監(jiān)控所述軟件包安裝過(guò)程中釋放的文件;收集在所述軟件包的安裝過(guò)程中釋放的所需的文件。2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述獲得所述安裝界面中繼續(xù)安裝類按鍵的位置信息包括調(diào)用用以枚舉界面上控件類型的系統(tǒng)API函數(shù),查找當(dāng)前安裝界面上按鍵類型的控件;分析所述按鍵類型的控件的文本內(nèi)容,找出所述文本內(nèi)容屬于繼續(xù)安裝類的按鍵;通過(guò)調(diào)用用以獲取位置信息的系統(tǒng)API函數(shù),獲得所述繼續(xù)安裝類按鍵的位置信息。3.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述獲得所述安裝界面中繼續(xù)安裝類按鍵的位置信息包括調(diào)用用以枚舉界面上控件類型的系統(tǒng)API函數(shù),查找當(dāng)前安裝界面上按鍵類型的控件;調(diào)用用以查找按鍵不可用的系統(tǒng)API函數(shù),找出所述控件中不可點(diǎn)擊的按鍵類型的控件;分析所述按鍵類型的控件的文本內(nèi)容,找出所述文本內(nèi)容屬于停止安裝類的按鍵;通過(guò)在所有的按鍵中過(guò)濾掉不可點(diǎn)擊的按鍵和所述停止安裝類的按鍵,找出繼續(xù)安裝類的按鍵和后退安裝類的按鍵;根據(jù)所述繼續(xù)安裝類的按鍵和后退安裝類的按鍵之間的位置關(guān)系,或者通過(guò)模擬試點(diǎn)擊的方式,找出繼續(xù)安裝類的按鍵;通過(guò)調(diào)用用以獲取位置信息的系統(tǒng)API函數(shù),獲得所述繼續(xù)安裝類按鍵的位置信息。4.根據(jù)權(quán)利要求I至3中任一項(xiàng)所述的方法,其特征在干,所述監(jiān)控所述軟件包安裝過(guò)程中釋放出的文件包括通過(guò)調(diào)用鉤子函數(shù)捕獲到文件操作流,獲得在所述軟件包安裝過(guò)程中釋放的文件的文件路徑;所述收集在軟件包的安裝過(guò)程中釋放的所需的文件包括根據(jù)所述文件的文件路徑,收集在所述軟件包的安裝過(guò)程中釋放的所需的文件。5.根據(jù)權(quán)利要求I至3中任一項(xiàng)所述的方法,其特征在于,所述收集所需的文件包括從所述軟件包安裝過(guò)程中釋放的文件中識(shí)別出屬于可移植的執(zhí)行體PE類文件和/或腳本類文件;拷貝所述PE類文件和/或腳本類文件;通過(guò)調(diào)用系統(tǒng)API函數(shù)獲得所述PE類文件和/或腳本類文件的文件屬性信息。6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述獲得PE類文件和/或腳本類文件的文件屬性信息包括獲得所述PE類文件和/或腳本類文件的大小、創(chuàng)建時(shí)間、修改時(shí)間、文件簽名中的任意ー種或多種。7.根據(jù)權(quán)利要求I至3中任一項(xiàng)所述的方法,其特征在于,所述模擬點(diǎn)擊包括模擬鼠標(biāo)點(diǎn)擊、模擬鍵盤點(diǎn)擊和模擬觸摸點(diǎn)擊中的任意ー種。8.一種用于實(shí)現(xiàn)文件收集的裝置,其特征在于,包括軟件包獲得單元,用于獲得可安裝的軟件包;運(yùn)行單元,用于運(yùn)行所述可安裝的軟件包;位置分析単元,用于當(dāng)出現(xiàn)所述軟件包的安裝界面時(shí)分析所述安裝界面的內(nèi)容,獲得所述安裝界面中繼續(xù)安裝類按鍵的位置信息;模擬點(diǎn)擊單元,用于根據(jù)所述繼續(xù)安裝類按鍵的位置信息,模擬點(diǎn)擊所述繼續(xù)安裝類按鍵,直至所述軟件包的安裝完成為止;監(jiān)控單元,用于監(jiān)控所述軟件包安裝過(guò)程中釋放的文件;收集單元,用于收集在所述軟件包的安裝過(guò)程中釋放的所需的文件。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述位置分析単元包括第一查找單元,用于調(diào)用用以枚舉界面上控件類型的系統(tǒng)API函數(shù),查找當(dāng)前安裝界面上按鍵類型的控件;第一分析単元,用于分析所述按鍵類型的控件的文本內(nèi)容,找出所述文本內(nèi)容屬于繼續(xù)安裝類的按鍵;第一位置獲得單元,用于通過(guò)調(diào)用用以獲取位置信息的系統(tǒng)API函數(shù),獲得所述繼續(xù)安裝類按鍵的位置信息。10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述位置分析単元包括第二查找單元,用于調(diào)用用以枚舉界面上控件類型的系統(tǒng)API函數(shù),查找當(dāng)前安裝界面上按鍵類型的控件;第三查找單元,用于調(diào)用用以查找按鍵不可用的系統(tǒng)API函數(shù),找出所述控件中不可點(diǎn)擊的按鍵類型的控件;第二分析単元,用于分析所述按鍵類型的控件的文本內(nèi)容,找出所述文本內(nèi)容屬于停止安裝類的按鍵;過(guò)濾單元,用于通過(guò)在所有的按鍵中過(guò)濾掉不可點(diǎn)擊的按鍵和所述停止安裝類的按鍵,找出繼續(xù)安裝類的按鍵和后退安裝類的按鍵;第四查找單元,用于根據(jù)所述繼續(xù)安裝類的按鍵和后退安裝類的按鍵之間的位置關(guān)系,或者通過(guò)模擬試點(diǎn)擊的方式,找出繼續(xù)安裝類的按鍵;第二位置獲得單元,用于通過(guò)調(diào)用用以獲取位置信息的系統(tǒng)API函數(shù),獲得所述繼續(xù)安裝類按鍵的位置信息。11.根據(jù)權(quán)利要求8至10中任一項(xiàng)所述的裝置,其特征在干,所述監(jiān)控単元,具體用于通過(guò)調(diào)用鉤子函數(shù)捕獲到文件操作流,獲得在所述軟件包安裝過(guò)程中釋放的文件的文件路徑;所述收集単元,具體用于根據(jù)所述監(jiān)控単元提供的文件路徑,收集在所述軟件包的安裝過(guò)程中釋放的所需的文件。12.根據(jù)權(quán)利要求8至10中任一項(xiàng)所述的裝置,其特征在于,所述收集単元具體包括識(shí)別子單元,用于從所述軟件包安裝過(guò)程中釋放的文件中識(shí)別出屬于PE類的文件和/或腳本類的文件;拷貝子單元,用于拷貝所述PE類文件和/或腳本類文件;屬性獲得子單元,用于通過(guò)調(diào)用系統(tǒng)API函數(shù)獲得所述PE類文件和/或腳本類文件的文件屬性信息。13.根據(jù)權(quán)利要求12所述的裝置,其特征在于所述屬性獲得子單元,具體用于獲得所述PE類文件和/或腳本類文件的大小、創(chuàng)建時(shí)間、修改時(shí)間、文件簽名中的任意一種或多種。14.一種用于實(shí)現(xiàn)軟件包自動(dòng)安裝的方法,其特征在于,包括獲得可安裝的軟件包;運(yùn)行所述可安裝的軟件包;當(dāng)出現(xiàn)所述軟件包的安裝界面時(shí)分析所述安裝界面的內(nèi)容,獲得所述安裝界面中繼續(xù)安裝類按鍵的位置信息;根據(jù)所述繼續(xù)安裝類按鍵的位置信息,模擬點(diǎn)擊所述繼續(xù)安裝類按鍵,直至所述軟件包的安裝完成為止。15.根據(jù)權(quán)利要求14所述的方法,其特征在于,還包括根據(jù)繼續(xù)安裝類按鍵在上一安裝界面中所處的位置信息,在當(dāng)前安裝界面中的雷同位置識(shí)別出所述當(dāng)前安裝界面中繼續(xù)安裝類按鍵的位置信息。16.根據(jù)權(quán)利要求14所述的方法,其特征在于,還包括分析當(dāng)前安裝界面中是否包含協(xié)議類型的控件,識(shí)別出當(dāng)前安裝界面為協(xié)議頁(yè);如果當(dāng)前協(xié)議頁(yè)中的繼續(xù)安裝類按鍵不可點(diǎn)擊,則獲取協(xié)議同意類型控件的按鍵位置信息;模擬點(diǎn)擊所述協(xié)議同意類型控件的按鍵,直到所述繼續(xù)安裝類按鍵可以點(diǎn)擊為止。17.根據(jù)權(quán)利要求14所述的方法,其特征在于,還包括分析當(dāng)前安裝界面中是否包含組件類型的控件,識(shí)別出當(dāng)前安裝界面為組件頁(yè);模擬點(diǎn)擊所述組件頁(yè)中所有組件類型控件的按鍵。18.根據(jù)權(quán)利要求14所述的方法,其特征在于,還包括將當(dāng)前彈出的彈出框尺寸與所述安裝界面尺寸比較,如果所述彈出框的尺寸小于所述安裝界面的尺寸或小于所述安裝界面的程度超過(guò)預(yù)置范圍,則識(shí)別所述彈出框?yàn)樘崾究?;舉所述提示框中控件類型的系統(tǒng)API函數(shù),查找所述提示框中按鍵類型的控件;在所述按鍵類型的控件中識(shí)別出確認(rèn)類按鍵;通過(guò)調(diào)用用以獲得位置信息的系統(tǒng)API函數(shù),獲得所述提示框中確認(rèn)類按鍵的位置信息;模擬點(diǎn)擊所述提示框中的確認(rèn)類按鍵。19.一種用于實(shí)現(xiàn)軟件包自動(dòng)安裝的裝置,其特征在于,包括軟件包獲得單元,用于獲得可安裝的軟件包;運(yùn)行單元,用于運(yùn)行所述可安裝的軟件包;第一位置分析單元,用于當(dāng)出現(xiàn)所述軟件包的安裝界面時(shí)分析所述安裝界面的內(nèi)容,獲得所述安裝界面中繼續(xù)安裝類按鍵的位置信息;第一模擬點(diǎn)擊單元,用于根據(jù)所述繼續(xù)安裝類按鍵的位置信息,模擬點(diǎn)擊所述繼續(xù)安裝類按鍵,直至所述軟件包的安裝完成為止。20.根據(jù)權(quán)利要求19所述的裝置,其特征在于,還包括第二位置分析單元,用于根據(jù)繼續(xù)安裝類按鍵在上一安裝界面中所處的位置信息,在當(dāng)前安裝界面中的雷同位置識(shí)別出所述當(dāng)前安裝界面中繼續(xù)安裝類按鍵的位置信息。21.根據(jù)權(quán)利要求19所述的裝置,其特征在于,還包括協(xié)議頁(yè)識(shí)別單元,用于分析當(dāng)前安裝界面中是否包含協(xié)議類型的控件,識(shí)別出當(dāng)前安裝界面為協(xié)議頁(yè);第三位置分析單元,用于如果當(dāng)前協(xié)議頁(yè)中的繼續(xù)安裝類按鍵不可點(diǎn)擊,則獲取協(xié)議同意類型控件的按鍵位置信息;第二模擬點(diǎn)擊單元,用于模擬點(diǎn)擊所述協(xié)議同意類型控件的按鍵,直到所述繼續(xù)安裝類按鍵可以點(diǎn)擊為止。22.根據(jù)權(quán)利要求19所述的裝置,其特征在于,還包括組件識(shí)別單元,用于分析當(dāng)前安裝界面中是否包含組件類型的控件,識(shí)別出當(dāng)前安裝界面為組件頁(yè);第三模擬點(diǎn)擊單元,用于模擬點(diǎn)擊所述組件頁(yè)中所有組件類型控件的按鍵。23.根據(jù)權(quán)利要求19所述的裝置,其特征在于,還包括提示框識(shí)別單元,用于將當(dāng)前彈出的彈出框尺寸與所述安裝界面尺寸比較,如果所述彈出框的尺寸小于所述安裝界面的尺寸或小于所述安裝界面的程度超過(guò)預(yù)置范圍,則識(shí)別所述彈出框?yàn)樘崾究颍坏谖宀檎覇卧?,用于枚舉所述提示框中控件類型的系統(tǒng)API函數(shù),查找所述提示框中按鍵類型的控件;確認(rèn)識(shí)別單元,用于在所述按鍵類型的控件中識(shí)別出確認(rèn)類按鍵;第四位置分析單元,用于通過(guò)調(diào)用用以獲得位置信息的系統(tǒng)API函數(shù),獲得所述提示框中確認(rèn)類按鍵的位置信息;第四模擬點(diǎn)擊單元,用于模擬點(diǎn)擊所述提示框中的確認(rèn)類按鍵。24.根據(jù)權(quán)利要求19至23中任一項(xiàng)所述的裝置,其特征在于,所述模擬點(diǎn)擊單元包括模擬鼠標(biāo)點(diǎn)擊、模擬鍵盤點(diǎn)擊和模擬觸摸點(diǎn)擊中的任意一種。全文摘要本發(fā)明公開了一種用于實(shí)現(xiàn)文件收集的方法,包括獲得可安裝的軟件包;運(yùn)行所述可安裝的軟件包;當(dāng)出現(xiàn)所述軟件包的安裝界面時(shí)分析所述安裝界面的內(nèi)容,獲得所述安裝界面中繼續(xù)安裝類按鍵的位置信息;根據(jù)所述繼續(xù)安裝類按鍵的位置信息,模擬點(diǎn)擊所述繼續(xù)安裝類按鍵,直至所述軟件包的安裝完成為止;監(jiān)控所述軟件包安裝過(guò)程中釋放的文件;收集在所述軟件包的安裝過(guò)程中釋放的所需的文件;本發(fā)明還公開了一種用于實(shí)現(xiàn)文件收集的裝置,能夠更全面、更高效的收集文件。本發(fā)明還提供了一種用于實(shí)現(xiàn)軟件包自動(dòng)安裝的方法和裝置,能夠提高軟件包的安裝效率,并且可以適用于不同類型軟件包的自動(dòng)安裝。文檔編號(hào)G06F9/445GK102830991SQ20121027047公開日2012年12月19日申請(qǐng)日期2012年7月31日優(yōu)先權(quán)日2012年7月31日發(fā)明者馮二波申請(qǐng)人:北京奇虎科技有限公司,奇智軟件(北京)有限公司