CN105278925B - 对卸载的软件进行垃圾清除的方法及装置 - Google Patents

对卸载的软件进行垃圾清除的方法及装置 Download PDF

Info

Publication number
CN105278925B
CN105278925B CN201410246957.4A CN201410246957A CN105278925B CN 105278925 B CN105278925 B CN 105278925B CN 201410246957 A CN201410246957 A CN 201410246957A CN 105278925 B CN105278925 B CN 105278925B
Authority
CN
China
Prior art keywords
software
unloading
unloaded
monitored
startings
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410246957.4A
Other languages
English (en)
Other versions
CN105278925A (zh
Inventor
李春茂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201410246957.4A priority Critical patent/CN105278925B/zh
Publication of CN105278925A publication Critical patent/CN105278925A/zh
Application granted granted Critical
Publication of CN105278925B publication Critical patent/CN105278925B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种对卸载的软件进行垃圾清除的方法及装置,属于信息技术领域。方法包括:监控进行卸载的软件;判断进行卸载的软件是否卸载完成;若进行卸载的软件卸载完成,则扫描完成卸载的软件残留的垃圾文件,并删除垃圾文件。本发明通过监控进行卸载的软件,并在判断进行卸载的软件卸载完成后,扫描完成卸载的软件残留的垃圾文件,并删除垃圾文件,从而使对卸载的软件进行垃圾清除不受到卸载方式的影响,提高了对卸载的软件进行垃圾清除的灵活性,扩展了对卸载的软件进行垃圾清除的应用范围。

Description

对卸载的软件进行垃圾清除的方法及装置
技术领域
本发明涉及信息技术领域,特别涉及一种对卸载的软件进行垃圾清除的方法及装置。
背景技术
随着信息技术的不断发展,人们可以安装各种各样的软件来使用。由于安装的软件经常会被卸载,在软件被卸载后,通常会残留一些垃圾文件,例如残留注册表和文件等。因此,如何对垃圾文件进行清除,成为优化系统的关键。
现有技术对卸载的软件进行垃圾清除时,一般是在通过启动软件管理工具或软件卸载工具对软件进行卸载后,直接扫描完成卸载的软件残留的垃圾文件,并删除垃圾文件。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
由于软件的卸载及对卸载的软件进行垃圾清除时均需要启动软件管理工具或软件卸载工具卸载软件,如果用户在未启动软件管理工具或软件卸载工具的情况下,通过控制面板等方式卸载软件,则由于软件管理工具或软件卸载工具未启动,而无法对卸载的软件进行垃圾清除,因此,现有技术中对卸载的软件进行垃圾清除的灵活性不高,且应用范围具有一定的局限性。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种对卸载的软件进行垃圾清除的方法及装置。所述技术方案如下:
第一方面,提供了一种对卸载的软件进行垃圾清除的方法,所述方法包括:
监控进行卸载的软件;
判断所述进行卸载的软件是否卸载完成;
若所述进行卸载的软件卸载完成,则扫描完成卸载的软件残留的垃圾文件,并删除所述垃圾文件。
第二方面,提供了一种对卸载的软件进行垃圾清除的装置,所述装置包括:
监控模块,用于监控进行卸载的软件;
判断模块,用于判断所述进行卸载的软件是否卸载完成;
扫描模块,用于当所述进行卸载的软件卸载完成时,扫描完成卸载的软件残留的垃圾文件;
删除模块,用于删除所述垃圾文件。
本发明实施例提供的技术方案带来的有益效果是:
通过监控进行卸载的软件,并在判断进行卸载的软件卸载完成后,扫描完成卸载的软件残留的垃圾文件,并删除垃圾文件,从而使对卸载的软件进行垃圾清除不受到卸载方式的影响,提高了对卸载的软件进行垃圾清除的灵活性,扩展了对卸载的软件进行垃圾清除的应用范围。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的对卸载的软件进行垃圾清除的方法的流程图;
图2是本发明另一实施例提供的对卸载的软件进行垃圾清除的方法的流程图;
图3是本发明另一实施例提供的对卸载的软件进行垃圾清除的方法的流程图;
图4是本发明另一实施例提供的对卸载的软件进行垃圾清除的装置的结构示意图;
图5是本发明另一实施例提供的监控模块的结构示意图;
图6是本发明另一实施例提供的第一监控单元的结构示意图;
图7是本发明另一实施例提供的判断模块的结构示意图;
图8是本发明另一实施例提供的监控模块的结构示意图;
图9是本发明另一实施例提供的判断模块的结构示意图;
图10是本发明另一实施例提供的终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
针对目前通过控制面板等方式卸载软件,而无法对卸载的软件进行垃圾清除的问题,本发明实施例提供了一种对卸载的软件进行垃圾清除的方法,参见图1,方法流程包括:
101:监控进行卸载的软件;
作为一种可选实施例,监控进行卸载的软件,包括:
监控是否有卸载进程启动及退出;
若监控到有卸载进程启动及退出,则将卸载进程对应的软件作为监控到的进行卸载的软件。
作为一种可选实施例,监控是否有卸载进程启动及退出,包括:
监控所有启动的进程,并从所有启动的进程中查找卸载进程的父进程;
若从所有启动的进程中查找到卸载进程的父进程,则监控到有卸载进程启动,并获取所有工作对象;
从所有工作对象中查找卸载进程的父进程对应的工作对象;
若卸载进程的父进程对应的工作对象完成,则监控到有卸载进程退出。
作为一种可选实施例,从所有启动的进程中查找卸载进程的父进程,包括:
判断所有启动的进程中是否有系统进程;
若所有启动的进程中有系统进程,则获取系统进程的命令行参数;
若命令行参数为预设的命令行参数,则将系统进程作为查找到的卸载进程的父进程。
作为一种可选实施例,监控进行卸载的软件,包括:
监控注册表键值的修改;
若监控到注册表键值被修改,则获取当前所有已安装软件的标识;
将当前所有已安装软件的标识与保存的已安装软件的标识进行比较,得到第二比较结果;
根据第二比较结果确定删除的软件,并将删除的软件作为监控到的进行卸载的软件。
102:判断进行卸载的软件是否卸载完成;
作为一种可选实施例,判断进行卸载的软件是否卸载完成,包括:
获取当前所有已安装软件的标识,并将当前所有已安装软件的标识与保存的已安装软件的标识进行比较,得到第一比较结果;
根据第一比较结果判断进行卸载的软件是否卸载完成。
作为一种可选实施例,判断进行卸载的软件是否卸载完成,包括:
查找进行卸载的软件的安装目录,并监控安装目录的修改;
若安装目录被删除或在预设时间内没有被修改,则判断进行卸载的软件对应的卸载进程是否退出;
若进行卸载的软件对应的卸载进程退出,则判断进行卸载的软件卸载完成。
103:若进行卸载的软件卸载完成,则扫描完成卸载的软件残留的垃圾文件,并删除垃圾文件。
本发明实施例提供的方法,通过监控进行卸载的软件,并在判断进行卸载的软件卸载完成后,扫描完成卸载的软件残留的垃圾文件,并删除垃圾文件,从而使对卸载的软件进行垃圾清除不受到卸载方式的影响,提高了对卸载的软件进行垃圾清除的灵活性,扩展了对卸载的软件进行垃圾清除的应用范围。
本发明实施例提供了一种对卸载的软件进行垃圾清除的方法,结合上述实施例的内容,参见图2,方法流程包括:
201:监控是否有卸载进程启动及退出;
关于监控卸载进程启动及退出的方式,本实施例不作具体限定。具体实施时,可启动一个后台线程,将该后台线程作为监控线程,即启动监控线程,通过监控线程监控是否有卸载进程启动及退出。
作为一种可选实施例,在启动监控线程时,还可获取并保存启动监控线程时所有已安装软件的标识。其中,所有已安装软件的标识可保存在列表中。
可选地,在获取所有已安装软件的标识时,还可获取所有已安装软件的安装目录。关于获取所有已安装软件的标识及安装目录的方式,本实施例不作具体限定。具体实施时,可通过扫描注册表中的卸载项获取所有已安装软件的标识及安装目录。
作为一种可选实施例,监控是否有卸载进程启动及退出,包括但不限于:
监控所有启动的进程,并从所有启动的进程中查找卸载进程的父进程;
若从所有启动的进程中查找到卸载进程的父进程,则监控到有卸载进程启动,并获取所有工作对象;
从所有工作对象中查找卸载进程的父进程对应的工作对象;
若卸载进程的父进程对应的工作对象完成,则监控到有卸载进程退出。
其中,监控所有启动的进程的方式可以有多种,本实施例对此不作具体限定。例如,每隔预设时间获取当前所有运行的进程,并与上一次获取到的当前所有运行的进程进行比较,得到启动的进程。又例如,使用驱动程序,通过使用windows系统提供的API(Application Programming Interface,应用程序编程接口)函数PsSetCreateProcessNotifyRoutine向系统注册回调函数,当系统有新进程启动时,回调函数会被执行,从而监控到启动的进程。
由于卸载进程可能包括多个子卸载进程,为了准确地监控到进行卸载的软件,本实施例提供的方法从所有启动的进程中查找卸载进程的父进程。
作为一种可选实施例,从所有启动的进程中查找卸载进程的父进程,包括但不限于:
判断所有启动的进程中是否有系统进程;
若所有启动的进程中有系统进程,则获取系统进程的命令行参数;
若命令行参数为预设的命令行参数,则将系统进程作为查找到的卸载进程的父进程。
本发明实施例提供的方法以系统进程为DllHost.exe为例进行说明。当判断所有启动的进程中有DllHost.exe时,判断所有启动的进程中有系统进程,获取DllHost.exe的命令行参数;当判断获取到的DllHost.exe的命令行参数为DllHost.exe/Processid:{FCC74B77-EC3E-4DD8-A80B-008A702075A9}时,将系统进程作为查找到的卸载进程的父进程。
其中,获取系统进程的命令行参数的过程包括但不限于:通过OpenProcess函数根据系统进程的ID(Identification,标识)打开系统进程,读取系统进程的peb信息,从peb中提取命令行参数。
由于从所有启动的进程中查找到卸载进程的父进程,则可知监控到有卸载进程启动。在监控到有卸载进程启动后,本实施例提供的方法还监控卸载进程是否退出,包括但不限于:
获取所有工作对象;
从所有工作对象中查找卸载进程的父进程对应的工作对象;
若卸载进程的父进程对应的工作对象完成,则监控到有卸载进程退出。
关于获取所有工作对象的方式,本实施例不作具体限定。具体实施时,可使用ntdll的导出函数MyNtQuerySystemInformation,并传入SystemHandleInformation(值是十进制的16)获取所需要的空间,并分配获取到的空间,再调用一次MyNtQuerySystemInformation,从而枚举所有工作对象,获取所有工作对象。
在获取到所有工作对象后,轮训每个工作对象,查找属于卸载进程的父进程对应的工作对象的句柄,请求复制一份,使用系统用来等待事件的API(例如,WaitForSingleObject)等待卸载进程的父进程的工作对象完成;当该卸载进程的父进程对应的工作对象完成时,表明监控到有卸载进程退出。
通过监控是否有卸载进程启动及退出,使得对卸载的软件进行垃圾清除不受到卸载方式的影响,扩展了对卸载的软件进行垃圾清除的应用范围,并且由于无需运行软件管理工具或软件卸载工具卸载软件,还可提高对卸载的软件进行垃圾清除的灵活性。当监控到有卸载进程启动及退出时,继续执行后续步骤202。
202:将卸载进程对应的软件作为监控到的进行卸载的软件;
由于监控到有卸载进程启动及退出,则表明卸载进程对应的软件可能被卸载,将卸载进程对应的软件作为监控到的进行卸载的软件;又由于用户可能在卸载过程中取消卸载,因此仅监控到有卸载进程启动及退出不能确定卸载进程对应的软件是否被卸载。
通过上述步骤201至步骤202即完成了监控进行卸载的软件,为了确定进行卸载的软件是否被卸载,本实施例提供的方法还包括后续步骤。
203:获取当前所有已安装软件的标识,并将当前所有已安装软件的标识与保存的已安装软件的标识进行比较,得到第一比较结果;
为了确定进行卸载的软件是否被卸载,本实施例提供的方法通过监控线程获取当前所有已安装软件的标识,关于获取当前所有已安装软件的标识的方式可参照上述步骤201中获取启动监控线程时所有已安装软件的标识的方式,此处不再赘述。
由于卸载的软件对应的注册表会被删除,则可将当前所有已安装软件的标识与保存的已安装软件的标识进行比较,得到第一比较结果。其中,保存的已安装软件的标识包括但不限于启动监控线程时获取并保存的所有已安装软件的标识,第一比较结果包括但不限于标识增加、标识缺少及标识不变。
204:根据第一比较结果判断进行卸载的软件是否卸载完成;
在根据第一比较结果判断进行卸载的软件是否卸载完成时,如果上述步骤203中第一比较结果为标识减少,则表明减少的标识对应的软件所对应的注册表被删除,减少的标识对应的软件卸载完成,即根据第一比较结果判断进行卸载的软件卸载完成;如果第一比较结果为标识不变,则表明没有软件对应的注册表被删除,没有软件完成卸载,即根据第一比较结果判断进行卸载的软件未卸载完成;如果第一比较结果为标识增加,则表明可能新安装了软件,即根据第一比较结果判断进行卸载的软件未卸载完成。
进一步地,通过上述步骤203至步骤204即完成了判断进行卸载的软件是否卸载完成,若进行卸载的软件卸载完成,则继续执行后续步骤205。
205:扫描完成卸载的软件残留的垃圾文件,并删除垃圾文件。
由于卸载软件的过程中可能没有将安装目录、快捷方式或注册表键值等删除,致使软件卸载完成后,残留垃圾文件。为了对卸载的软件进行垃圾清除,本发明实施例提供的方法在判断进行卸载的软件完成卸载后,扫描完成卸载的软件残留的垃圾文件,并删除垃圾文件。
关于扫描完成卸载的软件残留的垃圾文件的方式,本实施例不作具体限定。具体实施时,可根据完成卸载的软件的安装目录扫描完成卸载的软件残留的垃圾文件。在扫描到完成卸载的软件残留的垃圾文件后,可删除垃圾文件,从而优化系统。
本发明实施例提供的方法,通过监控进行卸载的软件,并在判断进行卸载的软件卸载完成后,扫描完成卸载的软件残留的垃圾文件,并删除垃圾文件,从而使对卸载的软件进行垃圾清除不受到卸载方式的影响,提高了对卸载的软件进行垃圾清除的灵活性,扩展了对卸载的软件进行垃圾清除的应用范围。
本发明实施例提供了一种对卸载的软件进行垃圾清除的方法,结合上述实施例的内容,参见图3,方法流程包括:
301:监控注册表键值的修改;
关于监控注册表键值的修改的方式,本实施例不作具体限定。具体实施时,可启动一个后台线程,将该后台线程作为监控线程,即启动监控线程,通过监控线程监控注册表键值的修改。
需要说明的是,如果系统为64位,还需要同时监控32位对应键,可以使用系统提供的API中的RegNotifyChangeKeyValue对注册表键值的修改进行监控。其中,注册表键值的修改包括但不限于子键被删除;32位对应键为:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall;
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall。
当通过监控线程监控到注册表键值被修改时,继续执行后续步骤302。
302:获取当前所有已安装软件的标识;
本发明实施例提供的方法在监控到注册表键值被修改时,触发获取当前所有已安装软件的标识,从而无需实时获取当前所有已安装软件的标识,减少获取当前所有已安装软件的标识的次数。
关于获取当前所有已安装软件的标识的方式可参照上一实施例中步骤201获取启动监控线程时所有已安装软件的标识的方式,此处不再赘述。
303:将当前所有已安装软件的标识与保存的已安装软件的标识进行比较,得到第二比较结果;
该步骤的实现方式可参照上一实施例中步骤203将当前所有已安装软件的标识与保存的已安装软件的标识进行比较的方式,此处不再赘述。在将当前所有已安装软件的标识与保存的已安装软件的标识进行比较后,得到第二比较结果包括但不限于标识增加、标识缺少及标识不变。
304:根据第二比较结果确定删除的软件,并将删除的软件作为监控到的进行卸载的软件;
在根据第二比较结果确定删除的软件时,如果上述步骤303中第二比较结果为标识减少,则表明减少的标识对应的软件可能被删除,即将删除的软件作为监控到的进行卸载的软件。
通过上述步骤301至步骤304即完成了监控进行卸载的软件,为了确定进行卸载的软件是否被卸载,本实施例提供的方法还包括后续步骤。
305:查找进行卸载的软件的安装目录,并监控安装目录的修改;
关于查找进行卸载的软件的安装目录的方式,本实施例不作具体限定。具体实施时,如果在启动监控线程时,已获取并保存所有已安装软件的安装目录,则可通过监控线程在保存的所有已安装软件的安装目录中查找进行卸载的软件的安装目录。
作为一种可选实施例,在安装目录被删除时,可判断安装目录被修改,则继续执行后续步骤306。由于软件在卸载过程中,可能会残留安装目录,则如果安装目录在预设时间内没有被修改,则可继续执行后续步骤306。关于预设时间的长短,本实施例不作具体限定。
306:判断进行卸载的软件对应的卸载进程是否退出;
为了确定进行卸载的软件是否卸载完成,本实施例提供的方法在监控安装目录的被删除或在预设时间内没有被修改时,判断进行卸载的软件对应的卸载进程是否退出。关于判断卸载进程是否退出的方式,本实施例不作具体限定。具体实施时,由于注册表中有卸载进程的路径,则可在查找到进行卸载的软件对应的卸载进程的路径后枚举系统进程,从而判断卸载进程是否退出。当进行卸载的软件对应的卸载进程退出时,继续执行后续步骤307。
307:判断进行卸载的软件卸载完成;
当进行卸载的软件对应的卸载进程退出时,可判断进行卸载的软件卸载完成。在判断进行卸载的软件卸载完成后,可对卸载的软件进行垃圾清除,详见后续步骤308。
进一步地,通过上述步骤305至步骤307即完成了判断进行卸载的软件是否卸载完成,当判断进行卸载的软件卸载完成时,继续执行后续步骤308。
308:扫描完成卸载的软件残留的垃圾文件,并删除垃圾文件。
该步骤的实现方式与上一实施例中步骤205的实现方式相同,具体可参见上一实施例中步骤205的内容,此处不再赘述。
本发明实施例提供的方法,通过监控进行卸载的软件,并在判断进行卸载的软件卸载完成后,扫描完成卸载的软件残留的垃圾文件,并删除垃圾文件,从而使对卸载的软件进行垃圾清除不受到卸载方式的影响,提高了对卸载的软件进行垃圾清除的灵活性,扩展了对卸载的软件进行垃圾清除的应用范围。
参见图4,本发明实施例提供了一种对卸载的软件进行垃圾清除的装置,该装置用于执行上述任一实施例提供的方法。该装置包括:
监控模块401,用于监控进行卸载的软件;
判断模块402,用于判断进行卸载的软件是否卸载完成;
扫描模块403,用于当进行卸载的软件卸载完成时,扫描完成卸载的软件残留的垃圾文件;
删除模块404,用于删除垃圾文件。
作为一种可选实施例,参见图5,监控模块401,包括:
第一监控单元4011,用于监控是否有卸载进程启动及退出;
第一处理单元4012,用于当监控到有卸载进程启动及退出时,将卸载进程对应的软件作为监控到的进行卸载的软件。
作为一种可选实施例,参见图6,第一监控单元4011,包括:
监控子单元40111,用于监控所有启动的进程;
第一查找子单元40112,用于从所有启动的进程中查找卸载进程的父进程;
第一处理子单元40113,用于当从所有启动的进程中查找到卸载进程的父进程时,监控到有卸载进程启动;
获取子单元40114,用于获取所有工作对象;
第二查找子单元40115,用于从所有工作对象中查找卸载进程的父进程对应的工作对象;
第二处理子单元40116,用于当卸载进程的父进程对应的工作对象完成时,监控到有卸载进程退出。
作为一种可选实施例,第一查找子单元40112,用于判断所有启动的进程中是否有系统进程;当所有启动的进程中有系统进程时,获取系统进程的命令行参数;当命令行参数为预设的命令行参数时,将系统进程作为查找到的卸载进程的父进程。
作为一种可选实施例,参见图7,判断模块402,包括:
第一获取单元4021,用于获取当前所有已安装软件的标识;
第一比较单元4022,用于将当前所有已安装软件的标识与保存的已安装软件的标识进行比较,得到第一比较结果;
第一判断单元4023,用于根据第一比较结果判断进行卸载的软件是否卸载完成。
作为一种可选实施例,参见图8,监控模块401,包括:
第二监控单元4013,用于监控注册表键值的修改;
第二获取单元4014,用于当监控到注册表键值被修改时,获取当前所有已安装软件的标识;
第二比较单元4015,用于将当前所有已安装软件的标识与保存的已安装软件的标识进行比较,得到第二比较结果;
确定单元4016,用于根据第二比较结果确定删除的软件;
第二处理单元4017,用于将删除的软件作为监控到的进行卸载的软件。
作为一种可选实施例,参见图9,判断模块402,包括:
查找单元4024,用于查找进行卸载的软件的安装目录;
第三监控单元4025,用于监控安装目录的修改;
第二判断单元4026,用于当安装目录被删除或在预设时间内没有被修改时,判断进行卸载的软件对应的卸载进程是否退出;
第三判断单元4027,用于当进行卸载的软件对应的卸载进程退出时,判断进行卸载的软件卸载完成。
本发明实施例提供的装置,通过监控进行卸载的软件,并在判断进行卸载的软件卸载完成后,扫描完成卸载的软件残留的垃圾文件,并删除垃圾文件,从而使对卸载的软件进行垃圾清除不受到卸载方式的影响,提高了对卸载的软件进行垃圾清除的灵活性,扩展了对卸载的软件进行垃圾清除的应用范围。
本发明实施例提供了一种终端,请参考图10,其示出了本发明实施例所涉及的终端的结构示意图,该终端可以用于实施上述实施例中提供的对卸载的软件进行垃圾清除的方法。具体来讲:
终端1000可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、WiFi(Wireless Fidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图10中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(CodeDivision Multiple Access,码分多址)、WCDMA(Wideband Code Division MultipleAccess,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。
存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端1000的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端1000的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图10中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
终端1000还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端1000移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端1000还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端1000之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端1000的通信。
WiFi属于短距离无线传输技术,终端1000通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图10示出了WiFi模块170,但是可以理解的是,其并不属于终端1000的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端1000的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端1000的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端1000还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端1000还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端的显示单元是触摸屏显示器,终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行,一个或者一个以上程序包含用于执行以下操作的指令:
监控进行卸载的软件;
判断进行卸载的软件是否卸载完成;
若进行卸载的软件卸载完成,则扫描完成卸载的软件残留的垃圾文件,并删除垃圾文件。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
监控进行卸载的软件,包括:
监控是否有卸载进程启动及退出;
若监控到有卸载进程启动及退出,则将卸载进程对应的软件作为监控到的进行卸载的软件。
在第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
监控是否有卸载进程启动及退出,包括:
监控所有启动的进程,并从所有启动的进程中查找卸载进程的父进程;
若从所有启动的进程中查找到卸载进程的父进程,则监控到有卸载进程启动,并获取所有工作对象;
从所有工作对象中查找卸载进程的父进程对应的工作对象;
若卸载进程的父进程对应的工作对象完成,则监控到有卸载进程退出。
在第三种可能的实施方式作为基础而提供的第四种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
从所有启动的进程中查找卸载进程的父进程,包括:
判断所有启动的进程中是否有系统进程;
若所有启动的进程中有系统进程,则获取系统进程的命令行参数;
若命令行参数为预设的命令行参数,则将系统进程作为查找到的卸载进程的父进程。
在第一种至第四种可能的实施方式中任一种可能的实施方式作为基础而提供的第五种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
判断进行卸载的软件是否卸载完成,包括:
获取当前所有已安装软件的标识,并将当前所有已安装软件的标识与保存的已安装软件的标识进行比较,得到第一比较结果;
根据第一比较结果判断进行卸载的软件是否卸载完成。
在第一种可能的实施方式作为基础而提供的第六种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
监控进行卸载的软件,包括:
监控注册表键值的修改;
若监控到注册表键值被修改,则获取当前所有已安装软件的标识;
将当前所有已安装软件的标识与保存的已安装软件的标识进行比较,得到第二比较结果;
根据第二比较结果确定删除的软件,并将删除的软件作为监控到的进行卸载的软件。
在第一种或第六种可能的实施方式作为基础而提供的第七种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
判断进行卸载的软件是否卸载完成,包括:
查找进行卸载的软件的安装目录,并监控安装目录的修改;
若安装目录被删除或在预设时间内没有被修改,则判断进行卸载的软件对应的卸载进程是否退出;
若进行卸载的软件对应的卸载进程退出,则判断进行卸载的软件卸载完成。
本发明实施例提供的终端,通过监控进行卸载的软件,并在判断进行卸载的软件卸载完成后,扫描完成卸载的软件残留的垃圾文件,并删除垃圾文件,从而使对卸载的软件进行垃圾清除不受到卸载方式的影响,提高了对卸载的软件进行垃圾清除的灵活性,扩展了对卸载的软件进行垃圾清除的应用范围。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质存储有一个或者一个以上程序,该一个或者一个以上程序被一个或者一个以上的处理器用来执行一个对卸载的软件进行垃圾清除的方法,该方法包括:
监控进行卸载的软件;
判断进行卸载的软件是否卸载完成;
若进行卸载的软件卸载完成,则扫描完成卸载的软件残留的垃圾文件,并删除垃圾文件。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
监控进行卸载的软件,包括:
监控是否有卸载进程启动及退出;
若监控到有卸载进程启动及退出,则将卸载进程对应的软件作为监控到的进行卸载的软件。
在第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
监控是否有卸载进程启动及退出,包括:
监控所有启动的进程,并从所有启动的进程中查找卸载进程的父进程;
若从所有启动的进程中查找到卸载进程的父进程,则监控到有卸载进程启动,并获取所有工作对象;
从所有工作对象中查找卸载进程的父进程对应的工作对象;
若卸载进程的父进程对应的工作对象完成,则监控到有卸载进程退出。
在第三种可能的实施方式作为基础而提供的第四种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
从所有启动的进程中查找卸载进程的父进程,包括:
判断所有启动的进程中是否有系统进程;
若所有启动的进程中有系统进程,则获取系统进程的命令行参数;
若命令行参数为预设的命令行参数,则将系统进程作为查找到的卸载进程的父进程。
在第一种至第四种可能的实施方式中任一种可能的实施方式作为基础而提供的第五种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
判断进行卸载的软件是否卸载完成,包括:
获取当前所有已安装软件的标识,并将当前所有已安装软件的标识与保存的已安装软件的标识进行比较,得到第一比较结果;
根据第一比较结果判断进行卸载的软件是否卸载完成。
在第一种可能的实施方式作为基础而提供的第六种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
监控进行卸载的软件,包括:
监控注册表键值的修改;
若监控到注册表键值被修改,则获取当前所有已安装软件的标识;
将当前所有已安装软件的标识与保存的已安装软件的标识进行比较,得到第二比较结果;
根据第二比较结果确定删除的软件,并将删除的软件作为监控到的进行卸载的软件。
在第一种或第六种可能的实施方式作为基础而提供的第七种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
判断进行卸载的软件是否卸载完成,包括:
查找进行卸载的软件的安装目录,并监控安装目录的修改;
若安装目录被删除或在预设时间内没有被修改,则判断进行卸载的软件对应的卸载进程是否退出;
若进行卸载的软件对应的卸载进程退出,则判断进行卸载的软件卸载完成。
本发明实施例提供的计算机可读存储介质,通过监控进行卸载的软件,并在判断进行卸载的软件卸载完成后,扫描完成卸载的软件残留的垃圾文件,并删除垃圾文件,从而使对卸载的软件进行垃圾清除不受到卸载方式的影响,提高了对卸载的软件进行垃圾清除的灵活性,扩展了对卸载的软件进行垃圾清除的应用范围。
需要说明的是:上述实施例提供的对卸载的软件进行垃圾清除的装置在对卸载的软件进行垃圾清除时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的对卸载的软件进行垃圾清除的装置与对卸载的软件进行垃圾清除的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种对卸载的软件进行垃圾清除的方法,其特征在于,所述方法包括:
监控所有启动的进程,并从所有启动的进程中查找卸载进程的父进程;
若从所有启动的进程中查找到卸载进程的父进程,则监控到有卸载进程启动,并获取所有工作对象;
从所有工作对象中查找所述卸载进程的父进程对应的工作对象;
若所述卸载进程的父进程对应的工作对象完成,则监控到有卸载进程退出;
若监控到有卸载进程启动及退出,则将所述卸载进程对应的软件作为监控到的进行卸载的软件;
判断所述进行卸载的软件是否卸载完成;
若所述进行卸载的软件卸载完成,则扫描完成卸载的软件残留的垃圾文件,并删除所述垃圾文件。
2.根据权利要求1所述的方法,其特征在于,所述从所有启动的进程中查找卸载进程的父进程,包括:
判断所有启动的进程中是否有系统进程;
若所有启动的进程中有系统进程,则获取所述系统进程的命令行参数;
若所述命令行参数为预设的命令行参数,则将所述系统进程作为查找到的卸载进程的父进程。
3.根据权利要求1或2所述的方法,其特征在于,所述判断所述进行卸载的软件是否卸载完成,包括:
获取当前所有已安装软件的标识,并将当前所有已安装软件的标识与保存的已安装软件的标识进行比较,得到第一比较结果;
根据所述第一比较结果判断所述进行卸载的软件是否卸载完成。
4.根据权利要求1所述的方法,其特征在于,所述判断所述进行卸载的软件是否卸载完成,包括:
查找所述进行卸载的软件的安装目录,并监控所述安装目录的修改;
若所述安装目录被删除或在预设时间内没有被修改,则判断所述进行卸载的软件对应的卸载进程是否退出;
若所述进行卸载的软件对应的卸载进程退出,则判断所述进行卸载的软件卸载完成。
5.一种对卸载的软件进行垃圾清除的装置,其特征在于,所述装置包括:
监控子单元,用于监控所有启动的进程;
第一查找子单元,用于从所有启动的进程中查找卸载进程的父进程;
第一处理子单元,用于当从所有启动的进程中查找到卸载进程的父进程时,监控到有卸载进程启动;
获取子单元,用于获取所有工作对象;
第二查找子单元,用于从所有工作对象中查找所述卸载进程的父进程对应的工作对象;
第二处理子单元,用于当所述卸载进程的父进程对应的工作对象完成时,监控到有卸载进程退出;
第一处理单元,用于当监控到有卸载进程启动及退出时,将所述卸载进程对应的软件作为监控到的进行卸载的软件;
判断模块,用于判断所述进行卸载的软件是否卸载完成;
扫描模块,用于当所述进行卸载的软件卸载完成时,扫描完成卸载的软件残留的垃圾文件;
删除模块,用于删除所述垃圾文件。
6.根据权利要求5所述的装置,其特征在于,所述第一查找子单元,用于判断所有启动的进程中是否有系统进程;当所有启动的进程中有系统进程时,获取所述系统进程的命令行参数;当所述命令行参数为预设的命令行参数时,将所述系统进程作为查找到的卸载进程的父进程。
7.根据权利要求5或6所述的装置,其特征在于,所述判断模块,包括:
第一获取单元,用于获取当前所有已安装软件的标识;
第一比较单元,用于将当前所有已安装软件的标识与保存的已安装软件的标识进行比较,得到第一比较结果;
第一判断单元,用于根据所述第一比较结果判断所述进行卸载的软件是否卸载完成。
8.根据权利要求5所述的装置,其特征在于,所述判断模块,包括:
查找单元,用于查找所述进行卸载的软件的安装目录;
第三监控单元,用于监控所述安装目录的修改;
第二判断单元,用于当所述安装目录被删除或在预设时间内没有被修改时,判断所述进行卸载的软件对应的卸载进程是否退出;
第三判断单元,用于当所述进行卸载的软件对应的卸载进程退出时,判断所述进行卸载的软件卸载完成。
CN201410246957.4A 2014-06-05 2014-06-05 对卸载的软件进行垃圾清除的方法及装置 Active CN105278925B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410246957.4A CN105278925B (zh) 2014-06-05 2014-06-05 对卸载的软件进行垃圾清除的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410246957.4A CN105278925B (zh) 2014-06-05 2014-06-05 对卸载的软件进行垃圾清除的方法及装置

Publications (2)

Publication Number Publication Date
CN105278925A CN105278925A (zh) 2016-01-27
CN105278925B true CN105278925B (zh) 2019-05-21

Family

ID=55147993

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410246957.4A Active CN105278925B (zh) 2014-06-05 2014-06-05 对卸载的软件进行垃圾清除的方法及装置

Country Status (1)

Country Link
CN (1) CN105278925B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107766351B (zh) * 2016-08-16 2020-12-25 腾讯科技(深圳)有限公司 文件目录的识别方法及装置
CN107122204B (zh) * 2017-03-29 2020-12-11 腾讯科技(深圳)有限公司 应用的卸载状态检测方法及装置
CN107977566B (zh) * 2017-11-27 2021-03-19 珠海市君天电子科技有限公司 一种功能触发方法、装置及电子设备
CN110555308B (zh) * 2018-06-01 2021-11-12 北京安天网络安全技术有限公司 一种终端应用行为跟踪和威胁风险评估方法及系统
CN112487414B (zh) * 2019-09-12 2024-04-12 腾讯科技(深圳)有限公司 一种进程命令行的获取方法、装置、设备以及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9098370B2 (en) * 2010-11-08 2015-08-04 Cbs Interactive, Inc. Apparatus and methods for improving uninstall process
CN101989211A (zh) * 2010-11-24 2011-03-23 北京安天电子设备有限公司 软件卸载方法和系统
CN103092664B (zh) * 2013-02-07 2016-08-03 珠海市君天电子科技有限公司 一种安卓系统的数据文件的处理方法和装置
CN103345411A (zh) * 2013-07-09 2013-10-09 北京奇虎科技有限公司 卸载应用程序的方法及装置

Also Published As

Publication number Publication date
CN105278925A (zh) 2016-01-27

Similar Documents

Publication Publication Date Title
CN104780164B (zh) 一种运行游戏客户端的方法和装置
CN104965721B (zh) 一种对应用程序进行更新的方法及装置
CN104636047B (zh) 对列表中的对象进行操作的方法、装置及触屏终端
CN105278937B (zh) 一种显示弹出框消息的方法及装置
CN104238893B (zh) 一种对视频预览图片进行显示的方法和装置
CN105278925B (zh) 对卸载的软件进行垃圾清除的方法及装置
CN104965722B (zh) 一种显示信息的方法及装置
CN107454270B (zh) 移动终端屏幕亮度控制方法、装置及终端
CN105162930B (zh) 移动终端的录音方法及装置
CN105807908B (zh) 一种切换工作模式的方法和装置
CN105553718B (zh) 引导信息显示方法及装置
CN105808043A (zh) 一种终端应用的设置方法和移动终端
CN104978237B (zh) 修复动态链接库文件的方法和装置
CN106528231B (zh) 一种启动应用程序的方法和装置
CN106228994B (zh) 一种检测音质的方法和装置
CN106708500B (zh) 卸载界面的显示方法及装置
CN105513098A (zh) 一种图像处理的方法和装置
CN105302589B (zh) 一种获取卸载信息的方法及装置
CN106255146A (zh) 一种终端的省电控制方法、装置和终端
CN107122204B (zh) 应用的卸载状态检测方法及装置
CN106933626B (zh) 应用关联方法及装置
CN109634482A (zh) 图标整理方法、装置及存储介质
CN106484230B (zh) 一种切换控制方法和设备
CN106709339B (zh) 一种显示扫描结果的方法和装置
CN105872041B (zh) 操作对象的处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant