一種進(jìn)行深度清理和更新的方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種進(jìn)行深度清理和更新的方法及裝置,其中:獲取操作系統(tǒng)當(dāng)前使用的系統(tǒng)文件以及更新軟件;系統(tǒng)文件包括:組件、驅(qū)動(dòng)程序;清除操作系統(tǒng)中當(dāng)前未使用的系統(tǒng)文件;將更新軟件進(jìn)行固化更新處理。本發(fā)明的進(jìn)行深度清理和更新的方法及裝置,能夠?qū)︱?qū)動(dòng)、組件等系統(tǒng)文件進(jìn)行清理并能進(jìn)行軟件升級(jí)包的固化更新,能夠使系統(tǒng)運(yùn)行穩(wěn)定,可大大減少冗余的驅(qū)動(dòng)和組件對(duì)存儲(chǔ)空間的占用,釋放更多的存儲(chǔ)空間,提高性能以及用戶體驗(yàn)度。
【專利說(shuō)明】一種進(jìn)行深度清理和更新的方法及裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,尤其涉及一種進(jìn)行深度清理和更新的方法及裝置。
【背景技術(shù)】
[0002] 隨著技術(shù)的發(fā)展,在日常生活中對(duì)電腦、手機(jī)等終端越來(lái)越依賴,對(duì)電腦的運(yùn)行速 度的要求也越來(lái)越高。在使用一端時(shí)間后,電腦會(huì)產(chǎn)生大量的垃圾文件,會(huì)占用系統(tǒng)大量的 內(nèi)存以及硬盤的存儲(chǔ)空間,在運(yùn)行中會(huì)影響操作速度,影響用戶的正常使用。為了能有效地 提高運(yùn)行速度,需要對(duì)電腦中的垃圾文件進(jìn)行清理,釋放更多的存儲(chǔ)空間。
[0003] 目前,垃圾文件的清理通常是通過(guò)掃描系統(tǒng)和常用的軟件來(lái)識(shí)別垃圾軟件,并進(jìn) 行清理的。通常,系統(tǒng)中安裝有多個(gè)驅(qū)動(dòng)程序,對(duì)于一個(gè)硬件可能安裝有多個(gè)版本、公司的 驅(qū)動(dòng)程序,例如,網(wǎng)卡驅(qū)動(dòng)、USB驅(qū)動(dòng)等等,但通常一個(gè)硬件設(shè)備只與一個(gè)驅(qū)動(dòng)程序綁定。當(dāng) 一個(gè)硬件設(shè)備安裝有多個(gè)驅(qū)動(dòng)時(shí),會(huì)浪費(fèi)大量的存儲(chǔ)空間,影響電腦的性能。并且,在對(duì)組 件進(jìn)行升級(jí)的過(guò)程中,會(huì)下載各種應(yīng)用程序的安裝包進(jìn)行安裝,因此,會(huì)積累大量的不同版 本的組件。但是,目前的垃圾文件的清理技術(shù),僅僅能夠清理一般的軟件,對(duì)于系統(tǒng)軟件,例 如,驅(qū)動(dòng)程序、組件等則無(wú)法進(jìn)行清理。并且,當(dāng)有軟件更新時(shí),對(duì)軟件升級(jí)包不能進(jìn)行固化 更新處理。
【發(fā)明內(nèi)容】
[0004] 有鑒于此,本發(fā)明要解決的一個(gè)技術(shù)問(wèn)題是提供一種進(jìn)行深度清理和更新的方 法,能夠?qū)︱?qū)動(dòng)、組件等系統(tǒng)文件進(jìn)行清理并能進(jìn)行升級(jí)包的固化更新。
[0005] -種進(jìn)行深度清理和更新的方法,其中:獲取操作系統(tǒng)當(dāng)前使用的系統(tǒng)文件以及 更新軟件;所述系統(tǒng)文件包括:組件、驅(qū)動(dòng)程序;清除所述操作系統(tǒng)當(dāng)前未使用的所述系統(tǒng) 文件;將所述更新軟件進(jìn)行固化更新處理。
[0006] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,進(jìn)一步的,所述清除所述操作系統(tǒng)當(dāng)前未使用的所述 系統(tǒng)文件包括:調(diào)用DriverPackageUninstall函數(shù)刪除當(dāng)前未與硬件設(shè)備綁定的全部驅(qū) 動(dòng)程序。
[0007] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,進(jìn)一步的,從所述操作系統(tǒng)的注冊(cè)表中獲取對(duì)于硬件 設(shè)備安裝的全部驅(qū)動(dòng)程序信息,包括:鍵值、驅(qū)動(dòng)安裝目錄;從所述操作系統(tǒng)的設(shè)備管理器 中獲取與硬件設(shè)備當(dāng)前綁定的驅(qū)動(dòng)程序信息。
[0008] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,進(jìn)一步的,所述清除所述操作系統(tǒng)當(dāng)前未使用的所述 系統(tǒng)文件包括:調(diào)用IDismPackageManager接口的GetPackageCollection方法,獲取操作 系統(tǒng)中全部組件的更新信息;調(diào)用IDismPackage接口的Remove方法,清除所述操作系統(tǒng)當(dāng) 前未使用的組件。
[0009] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,進(jìn)一步的,所述將所述更新軟件進(jìn)行固化更新處理包 括:所述更新軟件包括:SP補(bǔ)丁包;調(diào)用IDismServicePackScavenge接口的SPScavenge方 法,固化所述SP補(bǔ)丁包。
[0010] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,進(jìn)一步的,在進(jìn)行深度清理和更新的提示界面中,針對(duì) 的驅(qū)動(dòng)類型分別顯示清除所述操作系統(tǒng)當(dāng)前未使用的驅(qū)動(dòng)空間容量;所述驅(qū)動(dòng)類型包括: 打印驅(qū)動(dòng)、顯卡驅(qū)動(dòng)、網(wǎng)卡驅(qū)動(dòng);根據(jù)接收到的深度更新操作指令中的驅(qū)動(dòng)類型,清除所述 操作系統(tǒng)與此驅(qū)動(dòng)類型對(duì)應(yīng)的、當(dāng)前未使用的驅(qū)動(dòng)程序。
[0011] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,進(jìn)一步的,所述操作系統(tǒng)包括:WIND0WS VISTA、 WIND0WS7、WIND0WS8。
[0012] 本發(fā)明要解決的一個(gè)技術(shù)問(wèn)題是提供一種進(jìn)行深度清理和更新的抓裝置,能夠?qū)?驅(qū)動(dòng)、組件等系統(tǒng)文件進(jìn)行清理并能進(jìn)行升級(jí)包的固化更新。
[0013] 一種進(jìn)行深度清理和更新的裝置,包括:文件獲取單元,用于獲取操作系統(tǒng)當(dāng)前使 用的系統(tǒng)文件以及更新軟件;所述系統(tǒng)文件包括:組件、驅(qū)動(dòng)程序;清除單元,用于清除所 述操作系統(tǒng)當(dāng)前未使用的所述系統(tǒng)文件;更新單元,用于將所述更新軟件進(jìn)行固化更新處 理。
[0014] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,進(jìn)一步的,所述清除單元,包括:驅(qū)動(dòng)清除子模塊,調(diào)用 DriverPackageUninstall函數(shù)刪除當(dāng)前未與硬件設(shè)備綁定的全部驅(qū)動(dòng)程序。
[0015] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,進(jìn)一步的,所述驅(qū)動(dòng)清除子模塊,用于根據(jù)接收到的深 度更新操作指令中的驅(qū)動(dòng)類型,清除所述操作系統(tǒng)與此驅(qū)動(dòng)類型對(duì)應(yīng)的、當(dāng)前未使用的驅(qū) 動(dòng)程序;所述驅(qū)動(dòng)類型包括:打印驅(qū)動(dòng)、顯卡驅(qū)動(dòng)、網(wǎng)卡驅(qū)動(dòng);
[0016] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,進(jìn)一步的,所述清除單元,包括:驅(qū)動(dòng)獲取子模塊,用于 從所述操作系統(tǒng)的注冊(cè)表中獲取對(duì)于硬件設(shè)備安裝的全部驅(qū)動(dòng)程序信息,包括:鍵值、驅(qū)動(dòng) 安裝目錄;從所述操作系統(tǒng)的設(shè)備管理器中獲取與硬件設(shè)備當(dāng)前綁定的驅(qū)動(dòng)程序信息。
[0017] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,進(jìn)一步的,所述清除單元,包括:組件清除子模塊,用于 調(diào)用IDismPackageManager接口的GetPackageCollection方法,獲取操作系統(tǒng)中全部組件 的更新信息;調(diào)用IDismPackage接口的Remove方法,清除所述操作系統(tǒng)當(dāng)前未使用的組 件。
[0018] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,進(jìn)一步的,所述更新軟件包括:SP補(bǔ)丁包;所述更新單 元,用于調(diào)用IDismServicePackScavenge接口的SPScavenge方法,固化所述SP補(bǔ)丁包。 [0019] 本發(fā)明的進(jìn)行深度清理和更新的方法及裝置,能夠?qū)︱?qū)動(dòng)、組件等系統(tǒng)文件進(jìn)行 清理并能進(jìn)行軟件升級(jí)包的固化更新,能夠使系統(tǒng)運(yùn)行穩(wěn)定,可大大減少冗余的驅(qū)動(dòng)和組 件對(duì)存儲(chǔ)空間的占用,釋放更多的存儲(chǔ)空間,提高性能以及用戶體驗(yàn)度。
【專利附圖】
【附圖說(shuō)明】
[0020] 為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是 本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還 可以根據(jù)這些附圖獲得其他的附圖。
[0021] 圖1為根據(jù)本發(fā)明的進(jìn)行深度清理和更新的方法的一個(gè)實(shí)施例的流程圖;
[0022] 圖2為根據(jù)本發(fā)明的進(jìn)行深度清理和更新的方法的另一個(gè)實(shí)施例的流程圖;
[0023] 圖3為根據(jù)本發(fā)明的進(jìn)行深度清理和更新的裝置的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
[0024] 圖4為根據(jù)本發(fā)明的進(jìn)行深度清理和更新的裝置的一個(gè)實(shí)施例的清除單元的示 意圖;
[0025] 圖5、圖6和圖7為進(jìn)行深度清理和更新的界面示意圖。
【具體實(shí)施方式】
[0026] 下面參照附圖對(duì)本發(fā)明進(jìn)行更全面的描述,其中說(shuō)明本發(fā)明的示例性實(shí)施例。下 面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯 然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí) 施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬 于本發(fā)明保護(hù)的范圍。
[0027] 圖1為根據(jù)本發(fā)明的進(jìn)行深度清理和更新的方法的一個(gè)實(shí)施例的流程圖,如圖1 所示:
[0028] 步驟101,獲取操作系統(tǒng)當(dāng)前使用的系統(tǒng)文件以及更新軟件;系統(tǒng)文件包括:組 件、驅(qū)動(dòng)程序等。
[0029] 步驟102,清除操作系統(tǒng)當(dāng)前未使用的系統(tǒng)文件。
[0030] 步驟103,將更新軟件進(jìn)行固化更新處理。
[0031] 固化更新是指安裝軟件更新包,替換相應(yīng)的舊版本軟件,并對(duì)注冊(cè)表等進(jìn)行操作, 使系統(tǒng)再次調(diào)用此軟件時(shí),使用更新后的程序。例如,微軟為WIDD0WS提供的SP更新軟件 包等等。
[0032] 本發(fā)明的進(jìn)行深度清理和更新的方法,能夠?qū)︱?qū)動(dòng)和組件等系統(tǒng)文件進(jìn)行垃圾清 除,對(duì)更新軟件進(jìn)行固化更新處理,能夠大大減少冗余的驅(qū)動(dòng)和組件對(duì)存儲(chǔ)空間的占用,釋 放更多的存儲(chǔ)空間,提高性能以及用戶體驗(yàn)度。
[0033] Windows注冊(cè)表是幫助Windows控制硬件、軟件、用戶環(huán)境和Windows界面的一套 數(shù)據(jù)文件,保存了驅(qū)動(dòng)信息、軟件安裝信息、軟件版本號(hào)和日期,序列號(hào)等。注冊(cè)表控制所有 32位應(yīng)用程序和驅(qū)動(dòng),數(shù)據(jù)被分割成多層次的鍵和子鍵,建立分層次結(jié)構(gòu)更易于編輯。每個(gè) 鍵有成組的信息而且根據(jù)在其中的數(shù)據(jù)類型被命名。
[0034] 所有軟件、硬件、windows工作的設(shè)置都存放在HKEY_LOCAL_MACHINE鍵下,HKEY_ L0CAL_MACHINE是一個(gè)顯示控制系統(tǒng)和軟件的處理鍵,它包括網(wǎng)絡(luò)和硬件上所有的軟件設(shè) 置,例如,文件的位置,注冊(cè)和未注冊(cè)的狀態(tài),版本號(hào)等等。HKEY_LOCAL_MACHINE的子鍵包 括:Enum、Root、HARDWARE、SOFTWARE 等等??梢酝ㄟ^(guò)調(diào)用系統(tǒng) API,例如 RegOpenKeyExO (打開注冊(cè)表項(xiàng))、RegQueryValueEx ()(取值)、RegCloseKey ()(關(guān)閉注冊(cè)表項(xiàng))等等,對(duì) 注冊(cè)表進(jìn)行操作。
[0035] 在一個(gè)實(shí)施例中,可以調(diào)用RegQueryValueExO,從操作系統(tǒng)的注冊(cè)表中獲取對(duì)于 硬件設(shè)備安裝的全部驅(qū)動(dòng)程序信息,包括:鍵值、驅(qū)動(dòng)程序安裝目錄等。可以從操作系統(tǒng)的 設(shè)備管理器中獲取與硬件設(shè)備當(dāng)前綁定的驅(qū)動(dòng)程序信息。
[0036] 在一個(gè)實(shí)施例中,link文件即為link或hard link,也稱為硬鏈接。刪除當(dāng)前未與 硬件設(shè)備綁定的全部驅(qū)動(dòng)程序,可以采用直接刪除的方式,調(diào)用DriverPackageUninstall 函數(shù)(系統(tǒng)提供的API函數(shù)),刪除當(dāng)前未與硬件設(shè)備綁定的全部驅(qū)動(dòng)程序,也可以生成指 向當(dāng)前與硬件設(shè)備綁定的驅(qū)動(dòng)程序的link文件,將此link文件分別存儲(chǔ)在被刪除的當(dāng)前 未與硬件設(shè)備綁定的全部驅(qū)動(dòng)程序的安裝目錄中。
[0037] 下面是一個(gè)調(diào)用DriverPackageUninstall刪除驅(qū)動(dòng)程序的例子:
[0038] BOOL NeedReboot ;
[0039] thr = DriverPackageUninstall(DriverPath, DRIVER_PACKAGE_DELETE_ FILES, NULL, &NeedReboot);
[0040] 能夠?qū)⒅付ò惭b目錄下的驅(qū)動(dòng)程序刪除。
[0041] 由于驅(qū)動(dòng)程序被刪除后,在系統(tǒng)的調(diào)用中可能會(huì)出現(xiàn)異常,因此,生成當(dāng)前與硬件 設(shè)備綁定的驅(qū)動(dòng)程序的link文件,或者其它程序的link文件,將此link文件分別存儲(chǔ)在 被刪除的當(dāng)前未與硬件設(shè)備綁定的全部驅(qū)動(dòng)程序的安裝目錄中。由于link文件較小,并且 替換掉被刪除的驅(qū)動(dòng),既能夠釋放空間,又能夠保證系統(tǒng)穩(wěn)定運(yùn)行。
[0042] Windows提供更新包管理接口 IDismPackageManager,主要用于獲取更新信息,以 及提交狀態(tài)更改。IDismPackageManager接口的部分定義如下:
[0043] MIDL_INTERFACEri754aa4f-f0e2-4692-a802-d51871085f34//)
[0044] IDismPackageManager:IDispatch
[0045] {
[0046] virtual HRESULT-stdcall get-IsCompressionEnabled(
[0047] /*[out,retval]*/VARIANT-B00L*pVal) = 0 ;
[0048] virtual HRESULT-stdcall get-IsImageUnserviceable (
[0049] /*[out,retval]*/VARIANT-B00L*pVal) = 0 ;
[0050] virtual HRESULT-stdcall OpenPackageByPath(
[0051] /*[in]*/BSTR PackageLocation,
[0052] /*[out,retval]*/struct IDismPackage**Package) = 0 ;
[0053] virtual HRESULT-stdcall OpenPackageByName(
[0054] /* [in] */BSTR PackageName,
[0055] /^ [out,retval]struct IDismPackage木木Package) = 0 ;
[0056] virtual HRESULT-stdcall OpenFoundationPackage(
[0057] /^[out, retval]struct IDismPackage木木Package) = 0 ;
[0058] virtual HRESULT_stdcall OpenMsuPackage(
[0059] /*[in]*/BSTR PackageLocation,
[0060] /*[out,retval]*/struct IDismMsuPackage**Package) = 0 ;
[0061] virtual HRESULT-stdcall OpenPublicFeature (
[0062] /* [in] */BSTR FeatureName,
[0063] /^ [out, retval] struct IDismPackageFeature木木Feature) = 0;
[0064] //獲取所有更新信息
[0065] virtual HRESULT_stdcall GetPackageCollection(
[0066] /*[out,retval]*/struct IDismPackageCollection**ppPackages) = 0 ;
[0067] virtual HRESULT-stdcall GetPublicFeatureCollection(
[0068] /*[out,retval]*/struct IDismPackageFeatureCollection**
[0069] ppPackageFeatures) = 0 ;
[0070] //提交更改,讓所有操作生效
[0071] virtual HRESULT-stdcall ProcessChanges () = 0 ;
[0072] virtual HRESULT-stdcall ProcessChangesWithOptions (
[0073] /*[in]*/unsigned int Options) = 0 ;
[0074] virtual HRESULT-stdcall ProcessChangesPostReboot () = 0;
[0075] virtual HRESULT-stdcall Scavenge () = 0 ;
[0076] virtual HRESULT_stdcall RevertPendingActions() = 0 ;
[0077] };
[0078] 在一個(gè)實(shí)施例中,從操作系統(tǒng)注冊(cè)表中獲取安裝的全部組件信息,調(diào)用 IDismPackageManager接口的GetPackageCollection方法,獲取操作系統(tǒng)中全部組件的更 新信息。
[0079] 例如:CComQIPtr〈IDismPackageCollection>pIDismPackageCollection ;
[0080] IDismPackageManager^pIDismPackageManager ;
[0081] HRESULT hr = pIDismPackageManager-
[0082] >GetPackageCollection(&pIDismPackageCollection)〇
[0083] Windows提供IDismPackage接口,用于獲取更新信息以及添加刪除更新。 IDismPackage接口的部分定義如下:
[0084] IDismPackage:IDispatch
[0085] {
[0086] //virtual HRESULT-stdcall get-Identity(
[0087] /*[out,retval]*/BSTR*pVal) = 0 ;
[0088] virtual HRESULT_stdcall get-ReleaseType(
[0089] /*[out,retval]*/BSTR*pVal) = 0 ;
[0090] //獲取驅(qū)動(dòng)狀態(tài)
[0091] virtual HRESULT-stdcall get-State (
[0092] /*[out,retval]*/DISM-INSTALL-STATE*pVal) = 0 ;
[0093] virtual HRESULT-stdcall Install () = 0 ;
[0094] //刪除該更新
[0095] virtual HRESULT-stdcall Remove () = 0 ;
[0096] virtual HRESULT-stdcall Stage () = 0 ;
[0097] } 0
[0098] 可以調(diào)用IDismPackage接口的Remove方法,清除操作系統(tǒng)未使用的組件。提供 IDismPackage 等接 口的操作系統(tǒng)包括:WINDOWS VISTA、WIND0WS7、WIND0WS8 等等。
[0099] 例如,定義一個(gè) IDismPackageManager 接 口對(duì)象,通過(guò) GetPackageCollection 方 法獲取操作系統(tǒng)中全部組件的所有組件信息,并根據(jù)返回的結(jié)果集判斷組件是否被使用。
[0100] 定義一個(gè)IDismPackage接口對(duì)象,當(dāng)判斷組件未使用時(shí),則調(diào)用Remove方法刪 除,當(dāng)刪除后,調(diào)用IDismPackageManager接口的ProcessChanges方法,通知系統(tǒng)組件已發(fā) 生更新,具體實(shí)現(xiàn)如下:
[0101]
【權(quán)利要求】
1. 一種進(jìn)行深度清理和更新的方法,其中: 獲取操作系統(tǒng)當(dāng)前使用的系統(tǒng)文件以及更新軟件;所述系統(tǒng)文件包括:組件、驅(qū)動(dòng)程 序; 清除所述操作系統(tǒng)中當(dāng)前未使用的所述系統(tǒng)文件; 將所述更新軟件進(jìn)行固化更新處理。
2. 如權(quán)利要求1所述的方法,其特征在于,所述清除所述操作系統(tǒng)當(dāng)前未使用的所述 系統(tǒng)文件包括: 調(diào)用DriverPackageUnins tall函數(shù)刪除當(dāng)前未與硬件設(shè)備綁定的全部驅(qū)動(dòng)程序。 從所述操作系統(tǒng)的注冊(cè)表中獲取對(duì)于硬件設(shè)備安裝的全部驅(qū)動(dòng)程序信息,包括:鍵值、 驅(qū)動(dòng)安裝目錄; 從所述操作系統(tǒng)的設(shè)備管理器中獲取與硬件設(shè)備當(dāng)前綁定的驅(qū)動(dòng)程序信息。
3. 如權(quán)利要求1所述的方法,其特征在于,所述清除所述操作系統(tǒng)當(dāng)前未使用的所述 系統(tǒng)文件包括: 調(diào)用IDismPackageManager接口的GetPackageCollection方法,獲取操作系統(tǒng)中全部 組件的更新信息; 調(diào)用IDismPackage接口的Remove方法,清除所述操作系統(tǒng)當(dāng)前未使用的組件。
4. 如權(quán)利要求2所述的方法,其特征在于,所述將所述更新軟件進(jìn)行固化更新處理包 括: 所述更新軟件包括:SP補(bǔ)丁包; 調(diào)用 IDismServicePackScavenge 接口的 SPScavenge 方法,固化所述 SP 補(bǔ)丁包。
5. 如權(quán)利要求1所述的方法,其特征在于: 在進(jìn)行深度清理和更新的提示界面中,針對(duì)的驅(qū)動(dòng)類型分別顯示清除所述操作系統(tǒng)當(dāng) 前未使用的驅(qū)動(dòng)空間容量;所述驅(qū)動(dòng)類型包括:打印驅(qū)動(dòng)、顯卡驅(qū)動(dòng)、網(wǎng)卡驅(qū)動(dòng); 根據(jù)接收到的深度更新操作指令中的驅(qū)動(dòng)類型,清除所述操作系統(tǒng)與此驅(qū)動(dòng)類型對(duì) 應(yīng)的、當(dāng)前未使用的驅(qū)動(dòng)程序; 所述操作系統(tǒng)包括:WINDOWS VISTA、WIND0WS7、WIND0WS8。
6. -種進(jìn)行深度清理和更新的裝置,其特征在于,包括: 文件獲取單元,用于獲取操作系統(tǒng)當(dāng)前使用的系統(tǒng)文件以及更新軟件;所述系統(tǒng)文件 包括:組件、驅(qū)動(dòng)程序; 清除單元,用于清除所述操作系統(tǒng)當(dāng)前未使用的所述系統(tǒng)文件; 更新單元,用于將所述更新軟件進(jìn)行固化更新處理。
7. 如權(quán)利要求7所述的裝置,其特征在于: 所述清除單元,包括: 驅(qū)動(dòng)清除子模塊,用于調(diào)用DriverPackageUninsta 11函數(shù)刪除當(dāng)前未與硬件設(shè)備綁 定的全部驅(qū)動(dòng)程序; 所述驅(qū)動(dòng)類型包括:打印驅(qū)動(dòng)、顯卡驅(qū)動(dòng)、網(wǎng)卡驅(qū)動(dòng)。
8. 如權(quán)利要求7所述的裝置,其特征在于: 所述清除單元,包括: 驅(qū)動(dòng)獲取子模塊,用于從所述操作系統(tǒng)的注冊(cè)表中獲取對(duì)于硬件設(shè)備安裝的全部驅(qū)動(dòng) 程序信息,包括:鍵值、驅(qū)動(dòng)安裝目錄;從所述操作系統(tǒng)的設(shè)備管理器中獲取與硬件設(shè)備當(dāng) 前綁定的驅(qū)動(dòng)程序信息。
9. 如權(quán)利要求6所述的裝置,其特征在于: 所述清除單元,包括: 組件清除子模塊,用于調(diào)用IDismPackageManager接口的GetPackageCollection方 法,獲取操作系統(tǒng)中全部組件的更新信息;調(diào)用IDismPackage接口的Remove方法,清除所 述操作系統(tǒng)當(dāng)前未使用的組件。
10. 如權(quán)利要求6所述的裝置,其特征在于: 所述更新軟件包括:SP補(bǔ)丁包; 所述更新單元,用于調(diào)用IDismServicePackScavenge接口的SPScavenge方法,固化所 述SP補(bǔ)丁包。
【文檔編號(hào)】G06F9/445GK104407905SQ201410784223
【公開日】2015年3月11日 申請(qǐng)日期:2014年12月16日 優(yōu)先權(quán)日:2014年12月16日
【發(fā)明者】徐鵬捷, 陳雄 申請(qǐng)人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司