垃圾文件的清理方法及裝置製造方法
2023-05-30 08:56:26 1
垃圾文件的清理方法及裝置製造方法
【專利摘要】本發明公開了一種垃圾文件的清理方法及裝置,其中:獲取作業系統中安裝的全部驅動程序以及作業系統當前使用的驅動程序;獲取作業系統中安裝的全部組件以及作業系統當前使用的組件;計算作業系統當前未使用的驅動程序和組件的容量大小並生成清理提示界面;當接收到清理操作指令時,清除作業系統當前未使用的驅動程序和組件。本發明的垃圾文件的清理方法及裝置,能夠掃描、計算當前未使用的驅動程序和組件的空間容量,能夠對驅動和組件進行垃圾清除並使系統運行穩定,通過掃描能夠獲取垃圾文件比較準確的容量信息並顯示給用戶,能夠大大減少冗餘的驅動和組件對存儲空間的佔用,釋放更多的存儲空間,提高性能以及用戶體驗度。
【專利說明】垃圾文件的清理方法及裝置
【技術領域】
[0001] 本發明涉及計算機【技術領域】,尤其涉及一種垃圾文件的清理方法及裝置。
【背景技術】
[0002] 隨著技術的發展,在日常生活中對電腦、手機等終端越來越依賴,對電腦的運行速 度的要求也越來越高。在使用一端時間後,電腦會產生大量的垃圾文件,會佔用系統大量的 內存以及硬碟的存儲空間,在運行中會影響操作速度,影響用戶的正常使用。為了能有效地 提高運行速度,需要對電腦中的垃圾文件進行清理,釋放更多的存儲空間。
[0003] 目前,垃圾文件的清理通常是通過掃描系統和常用的軟體來識別垃圾軟體,並進 行清理的。通常,系統中安裝有多個驅動程序,對於一個硬體可能安裝有多個版本、公司的 驅動程序,例如,網卡驅動、USB驅動等等,但通常一個硬體設備只與一個驅動程序綁定。當 一個硬體設備安裝有多個驅動時,會浪費大量的存儲空間,影響電腦的性能。並且,在對組 件進行升級的過程中,會下載各種應用程式的安裝包進行安裝,因此,會積累大量的不同版 本的組件。但是,目前的垃圾文件的清理技術並沒有對驅動程序、組件等進行清理。並且, 由於系統中具有大量的硬連結文件的存在,使得在掃描的過程中,對於刪除文件的大小有 重複計算的情況發生,造成實際釋放空間的大小與掃描預算釋放空間的大小之間的差距比 較大,使用戶的感受度比較差。
【發明內容】
[0004] 有鑑於此,本發明要解決的一個技術問題是提供一種垃圾文件的清理方法,能夠 掃描、計算當前未使用的驅動程序和組件的空間容量。
[0005] -種垃圾文件的清理方法,其中:獲取作業系統中安裝的全部驅動程序以及所述 作業系統當前使用的驅動程序;獲取作業系統中安裝的全部組件以及所述作業系統當前使 用的組件;計算所述作業系統當前未使用的驅動程序和組件的容量大小並生成清理提示界 面;當接收到清理操作指令時,清除所述作業系統當前未使用的驅動程序和組件。
[0006] 根據本發明的一個實施例,進一步的,所述獲取作業系統中安裝的全部組件以及 所述作業系統當前使用的組件包括:從所述作業系統的註冊表中獲取對於硬體設備安裝的 全部驅動程序信息,包括:鍵值、驅動程序安裝目錄;從所述作業系統的設備管理器中獲取 與硬體設備當前綁定的驅動程序信息。
[0007] 根據本發明的一個實施例,進一步的,所述獲取作業系統中安裝的全部組件以及 所述作業系統當前使用的組件包括:從所述作業系統註冊表中獲取安裝的全部組件信息; 調用IDismPackageManager接口的GetPackageCollection方法,獲取作業系統中全部組件 的更新信息。
[0008] 根據本發明的一個實施例,進一步的,計算所述作業系統當前未使用的驅動程序 和組件的容量大小包括:獲取所述作業系統中當前未使用的驅動程序文件和組件文件的大 小並相加,計算空間容量;其中,獲取全部link文件,並獲取link文件指向的目標文件;當 判斷多個link文件指向的目標文件的ID相同時,則不對此目標文件的大小進行重複相加 計算,使得在計算空間容量時,對此目標文件的大小隻相加一次。
[0009] 根據本發明的一個實施例,調用DriverPackageUninstall函數刪除當前未與硬 件設備綁定的全部驅動程序。
[0010] 根據本發明的一個實施例,進一步的,清除當前所述作業系統未使用的組件包括: 調用IDismPackage接口的Remove方法,清除所述作業系統當前未使用的組件。
[0011] 根據本發明的一個實施例,進一步的,在所述清理提示界面中,針對的驅動程序類 型分別顯示清除所述作業系統當前未使用的驅動程序空間容量;所述驅動程序類型包括: 列印驅動程序、顯卡驅動程序、網卡驅動程序;根據接收到的接收清理的操作指令中的驅動 程序類型,清除所述作業系統當前未使用的與此驅動程序類型對應的驅動程序。
[0012] 根據本發明的一個實施例,進一步的,所述作業系統包括:
[0013] WINDOWS VISTA、WIND0WS7、WIND0WS8。
[0014] 本發明要解決的一個技術問題是提供一種垃圾文件的清理裝置,能夠掃描、計算 當前未使用的驅動程序和組件的空間容量。
[0015] 一種垃圾文件的清理裝置,包括:驅動程序獲取單元,用於獲取作業系統中安裝的 全部驅動程序以及所述作業系統當前使用的驅動程序;組件獲取單元,用於獲取作業系統 中安裝的全部組件以及所述作業系統當前使用的組件;容量計算單元,用於計算所述操作 系統當前未使用的驅動程序和組件的容量大小;提示界面生成單元,用於生成清理提示界 面;清理單元,用於當接收到清理操作指令時,清除所述作業系統當前未使用的驅動程序 和組件。
[0016] 根據本發明的一個實施例,進一步的,所述驅動程序獲取單元,用於從所述操作系 統的註冊表中獲取對於硬體設備安裝的全部驅動程序信息,包括:鍵值、驅動程序安裝目 錄;從所述作業系統的設備管理器中獲取與硬體設備當前綁定的驅動程序信息。
[0017] 根據本發明的一個實施例,進一步的,所述組件獲取單元,用於從所述操 作系統註冊表中獲取安裝的全部組件信息;調用IDismPackageManager接口的 GetPackageCollection方法,獲取作業系統中全部組件的更新信息。
[0018] 根據本發明的一個實施例,進一步的,所述容量計算單元,用於獲取所述作業系統 中當前未使用的驅動程序文件和組件文件的大小並相加,計算空間容量;其中,獲取全部 link文件,並獲取link文件指向的目標文件;當判斷多個link文件指向的目標文件的ID 相同時,則不對此目標文件的大小進行重複相加計算,使得在計算空間容量時,對此目標文 件的大小隻相加一次。
[0019] 根據本發明的一個實施例,進一步的,所述清理單元,用於調用 DriverPackageUninstall函數刪除當前未與硬體設備綁定的全部驅動程序。
[0020] 根據本發明的一個實施例,進一步的,所述清理單元,還用於調用IDismPackage 接口的Remove方法,清除所述作業系統當前未使用的組件。
[0021] 根據本發明的一個實施例,進一步的,所述提示界面生成單元,用於在所述清理提 示界面中,針對的驅動程序類型分別顯示清除所述作業系統當前未使用的驅動程序空間容 量;所述驅動程序類型包括:列印驅動程序、顯卡驅動程序、網卡驅動程序;所述清理單元, 還用於根據接收到的接收清理的操作指令中的驅動程序類型,清除所述作業系統當前未 使用的與此驅動程序類型對應的驅動程序。
[0022] 本發明的垃圾文件的清理方法及裝置,能夠掃描、計算當前未使用的驅動程序和 組件的空間容量,能夠對驅動和組件進行垃圾清除,並能夠使系統運行穩定,通過掃描能夠 獲取垃圾文件比較準確的容量信息,並顯示給用戶。
【專利附圖】
【附圖說明】
[0023] 為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現 有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖僅僅是 本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還 可以根據這些附圖獲得其他的附圖。
[0024] 圖1為根據本發明的垃圾文件的清理方法的一個實施例的流程圖;
[0025] 圖2為根據本發明的垃圾文件的清理方法的另一個實施例的掃描流程圖;
[0026] 圖3為根據本發明的垃圾文件的清理裝置的一個實施例的結構框圖;
[0027] 圖4和圖5為提供給用戶的進行垃圾文件清理的界面示意圖。
【具體實施方式】
[0028] 下面參照附圖對本發明進行更全面的描述,其中說明本發明的示例性實施例。下 面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯 然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實 施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬 於本發明保護的範圍。
[0029] 本發明實施例中提到的軟體,主要包括但不限於:視頻軟體、聊天工具、瀏覽器、遊 戲娛樂、網路遊戲、音樂軟體、安全殺毒、下載工具、辦公軟體、輸入法、手機數碼、圖形圖像、 股票網銀、閱讀翻譯、網絡應用、主題壁紙、教育學習、壓縮刻錄、編程開發等,當然也並不限 於此。
[0030] 圖1為根據本發明的垃圾文件的清理方法的一個實施例的流程圖,如圖1所示:
[0031] 步驟101,獲取作業系統中安裝的全部驅動程序以及作業系統當前使用的驅動程 序。
[0032] 步驟102,獲取作業系統中安裝的全部組件以及作業系統當前使用的組件。
[0033] 步驟103,計算清除作業系統當前未使用的驅動程序和組件後釋放的空間容量並 生成清理提示界面。
[0034] 步驟104,當接收到清理操作指令時,清除作業系統當前未使用的驅動程序和組 件。
[0035] 本發明的垃圾文件的清理方法,掃描、計算當前未使用的驅動程序和組件後釋放 的空間容量,能夠對驅動和組件進行垃圾清除,能夠大大減少冗餘的驅動和組件對存儲空 間的佔用,釋放更多的存儲空間。
[0036] Windows註冊表是幫助Windows控制硬體、軟體、用戶環境和Windows界面的一套 數據文件,保存了驅動信息、軟體安裝信息、軟體版本號和日期,序列號等。註冊表控制所有 32位應用程式和驅動,數據被分割成多層次的鍵和子鍵,建立分層次結構更易於編輯。每個 鍵有成組的信息而且根據在其中的數據類型被命名。
[0037] 所有軟體、硬體、windows工作的設置都存放在HKEY_LOCAL_MACHINE鍵下,HKEY_ L0CAL_MACHINE是一個顯示控制系統和軟體的處理鍵,它包括網絡和硬體上所有的軟體設 置,例如,文件的位置,註冊和未註冊的狀態,版本號等等。HKEY_LOCAL_MACHINE的子鍵包 括:Enum、Root、HARDWARE、SOFTWARE 等等。可以通過調用系統 API,例如 RegOpenKeyExO (打開註冊表項)、RegQueryValueEx (取值)、RegCloseKey (關閉註冊表項)等等,對 註冊表進行操作。
[0038] 在一個實施例中,可以調用RegQueryValueExO,從作業系統的註冊表中獲取對於 硬體設備安裝的全部驅動程序信息,包括:鍵值、驅動程序安裝目錄等。可以從作業系統的 設備管理器中獲取與硬體設備當前綁定的驅動程序信息。
[0039] Windows提供更新包管理接口 IDismPackageManager,主要用於獲取更新信息,以 及提交狀態更改。IDismPackageManager接口的部分定義如下:
【權利要求】
1. 一種垃圾文件的清理方法,其中: 獲取作業系統中安裝的全部驅動程序以及所述作業系統當前使用的驅動程序; 獲取作業系統中安裝的全部組件以及所述作業系統當前使用的組件; 計算所述作業系統當前未使用的驅動程序和組件的容量大小並生成清理提示界面; 當接收到清理操作指令時,清除所述作業系統當前未使用的驅動程序和組件。
2. 如權利要求1所述的方法,其特徵在於,所述獲取作業系統中安裝的全部組件以及 所述作業系統當前使用的組件包括: 從所述作業系統的註冊表中獲取對於硬體設備安裝的全部驅動程序信息,包括:鍵值、 驅動程序安裝目錄; 從所述作業系統的設備管理器中獲取與硬體設備當前綁定的驅動程序信息; 所述獲取作業系統中安裝的全部組件以及所述作業系統當前使用的組件包括: 從所述作業系統註冊表中獲取安裝的全部組件信息; 調用IDismPackageManager接口的GetPackageCollection方法,獲取作業系統中全部 組件的更新信息。
3. 如權利要求2所述的方法,其特徵在於,計算所述作業系統當前未使用的驅動程序 和組件的容量大小包括: 獲取所述作業系統中當前未使用的驅動程序文件和組件文件的大小並相加,計算空間 容量; 其中,獲取全部link文件,並獲取link文件指向的目標文件; 當判斷多個link文件指向的目標文件的ID相同時,則不對此目標文件的大小進行重 復相加計算,使得在計算空間容量時,對此目標文件的大小隻相加一次。
4. 如權利要求3所述的方法,其特徵在於,清除當前所述作業系統未使用的驅動程序 包括: 調用DriverPackageUninstall函數刪除當前未與硬體設備綁定的全部驅動程序; 清除當前所述作業系統未使用的驅動程序包括: 調用IDismPackage接口的Remove方法,清除所述作業系統當前未使用的組件。
5. 如權利要求1所述的方法,其特徵在於: 在所述清理提示界面中,針對的驅動程序類型分別顯示清除所述作業系統當前未使用 的驅動程序空間容量;所述驅動程序類型包括:列印驅動程序、顯卡驅動程序、網卡驅動程 序; 根據接收到的接收清理的操作指令中的驅動程序類型,清除所述作業系統當前未使 用的與此驅動程序類型對應的驅動程序; 所述作業系統包括:WINDOWS VISTA、WIND0WS7、WIND0WS8。
6. -種垃圾文件的清理裝置,包括: 驅動程序獲取單元,用於獲取作業系統中安裝的全部驅動程序以及所述作業系統當前 使用的驅動程序; 組件獲取單元,用於獲取作業系統中安裝的全部組件以及所述作業系統當前使用的組 件; 容量計算單元,用於計算所述作業系統當前未使用的驅動程序和組件的容量大小; 提示界面生成單元,用於生成清理提示界面; 清理單元,用於當接收到清理操作指令時,清除所述作業系統當前未使用的驅動程序 和組件。
7. 如權利要求6所述的裝置,其特徵在於: 所述驅動程序獲取單元,用於從所述作業系統的註冊表中獲取對於硬體設備安裝的全 部驅動程序信息,包括:鍵值、驅動程序安裝目錄;從所述作業系統的設備管理器中獲取與 硬體設備當前綁定的驅動程序信息; 所述組件獲取單元,用於從所述作業系統註冊表中獲取安裝的全部組件信息;調用 IDismPackageManager接口的GetPackageCollection方法,獲取作業系統中全部組件的更 新信息。
8. 如權利要求7所述的裝置,其特徵在於: 所述容量計算單元,用於獲取所述作業系統中當前未使用的驅動程序文件和組件文件 的大小並相加,計算空間容量;其中,獲取全部1 ink文件,並獲取link文件指向的目標文 件;當判斷多個link文件指向的目標文件的ID相同時,則不對此目標文件的大小進行重複 相加計算,使得在計算空間容量時,對此目標文件的大小隻相加一次。
9. 如權利要求7所述的裝置,其特徵在於: 所述清理單元,用於調用DriverPackageUninstall函數刪除當前未與硬體設備綁定 的全部驅動程序; 所述清理單元,還用於調用IDismPackage接口的Remove方法,清除所述作業系統當前 未使用的組件。
10. 如權利要求9所述的裝置,其特徵在於: 所述提示界面生成單元,用於在所述清理提示界面中,針對的驅動程序類型分別顯示 清除所述作業系統當前未使用的驅動程序空間容量;所述驅動程序類型包括:列印驅動程 序、顯卡驅動程序、網卡驅動程序; 所述清理單元,還用於根據接收到的接收清理的操作指令中的驅動程序類型,清除所 述作業系統當前未使用的與此驅動程序類型對應的驅動程序。
【文檔編號】G06F17/30GK104408201SQ201410785296
【公開日】2015年3月11日 申請日期:2014年12月16日 優先權日:2014年12月16日
【發明者】徐鵬捷, 陳雄 申請人:北京奇虎科技有限公司, 奇智軟體(北京)有限公司