发明内容
鉴于上述问题,本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的设备使用痕迹的清理方法和相应的设备使用痕迹的清理装置,使得用户可以选择性的清除存储设备的使用痕迹。
依据本发明实施例的一个方面,提供了一种设备使用痕迹的清理方法,包括:
预置设备信息数据库,所述设备信息数据库中包括至少一个类目列表,所述类目列表中包括至少一种类目信息;
在设备相关的注册表和/或系统文件中,扫描设备与所述类目列表对应的属性信息;
将所述属性信息与所述类目列表进行匹配得到至少一个类目信息;
接收清除对某种类目信息的清理请求,并对相关的注册表和/或系统文件进行清理。
本发明实施例中,当所述类目列表包括至少一种品牌型号的类目信息时,所述属性信息为设备的品牌型号;
所述在与设备相关的注册表和/或系统文件中,扫描设备与类目列表对应的属性信息的步骤包括:
在各用户的第一设置管理注册表中,各个设备使用后产生的注册表子项下,读取设备名称注册表项的键值,得到设备的品牌型号;
和/或,在系统安装目录下的驱动日志文件中,读取设备的品牌型号;
和/或,在各用户的第三设置管理注册表下的注册表项的名称中,读取设备的品牌型号。
本发明实施例中,当所述类目列表包括至少一种设备类型的类目信息时,所述属性信息为设备的设备类型;
所述在与设备相关的注册表和/或系统文件中,扫描设备与类目列表对应的属性信息的步骤包括:
在各用户的第二设置管理注册表中,读取各个设备使用后产生的注册表子项中,序列号子键下设备的唯一标识符;
将所述唯一标识符与预置的多个目标标识符进行对比,确定所述设备的设备类型。
本发明实施例中,当所述类目列表包括至少一种安装日期的类目信息时,所述属性信息为设备的安装日期;
所述在与设备相关的注册表和/或系统文件中,扫描设备与类目列表对应的属性信息的步骤包括:
在系统安装目录下的驱动日志文件中,读取设备的安装日期;
和/或,在各用户的第一或第二设置管理注册表中,读取各个设备使用后产生的注册表子项中序列号子键下的Driver键值,并依据所述Driver键值在相应的第五设置管理注册表中,GUID的子键下读取设备的安装日期。
本发明实施例中,当所述类目列表包括至少一种使用日期的类目信息时,所述属性信息为设备的使用日期;
所述在与设备相关的注册表和/或系统文件中,扫描设备与类目列表对应的属性信息的步骤包括:
在各用户的第四设置管理注册表中,针对各个设备使用后产生的注册表子项,通过系统注册表的API函数,获取此子键的最后修改时间,得到设备的使用日期。
本发明实施例中,在所述将属性信息与类目列表进行匹配得到至少一个类目信息的步骤之后,所述方法还包括:
将匹配得到的至少一个类目信息展示在客户端。
本发明实施例中,所述接收清除对某个类目信息的清理请求,并对相关的注册表和/或系统文件进行清理的步骤包括:
依据对某个类目信息的清理请求,以及属性信息与注册表和/或系统文件的对应关系,清理相关的注册表,和/或清理系统文件中的设备的所有属性信息。
本发明实施例中,所述清理相关的注册表的步骤包括:
去除待清理的注册表的只读锁定;
向驱动层发送注册表键值清理请求,驱动层在接收到请求后执行删除注册表的键值或/注册表项的操作。
本发明实施例中,在对相关的注册表和/或系统文件进行清理的步骤之前,所述方法还包括:
枚举客户端上连接的设备,如果发现有设备正在使用,则生成删除警报的提示信息,并显示在客户端。
本发明实施例中,按照预设频率自动触发扫描设备与所述类目列表对应的属性信息。
根据本发明实施例的另一个方面,提供了一种设备使用痕迹的清理装置,包括:
设备信息数据库预置模块,适于预置设备信息数据库,所述设备信息数据库中包括至少一个类目列表,所述类目列表中包括至少一种类目信息;
属性信息扫描模块,适于在设备相关的注册表和/或系统文件中,扫描设备与所述类目列表对应的属性信息;
匹配模块,适于将所述属性信息与所述类目列表进行匹配得到至少一个类目信息;
清理模块,适于接收清除对某种类目信息的清理请求,并对相关的注册表和/或系统文件进行清理。
本发明实施例中,当所述类目列表包括至少一种品牌型号的类目信息时,所述属性信息为设备的品牌型号;
所述属性信息扫描模块包括:
第一扫描子模块,适于在各用户的第一设置管理注册表中,各个设备使用后产生的注册表子项下,读取设备名称注册表项的键值,得到设备的品牌型号;
和/或,所述第一扫描子模块,还适于在系统安装目录下的驱动日志文件中,读取设备的品牌型号;
和/或,所述第一扫描子模块,还适于在各用户的第三设置管理注册表下的注册表项的名称中,读取设备的品牌型号。
本发明实施例中,当所述类目列表包括至少一种设备类型的类目信息时,所述属性信息为设备的设备类型;
所述属性信息扫描模块包括:
第二扫描子模块,适于在各用户的第二设置管理注册表中,读取各个设备使用后产生的注册表子项中,序列号子键下设备的唯一标识符,并将所述唯一标识符与预置的多个目标标识符进行对比,确定所述设备的设备类型。
本发明实施例中,当所述类目列表包括至少一种安装日期的类目信息时,所述属性信息为设备的安装日期;
所述属性信息扫描模块包括:
第三扫描子模块,适于在系统安装目录下的驱动日志文件中,读取设备的安装日期;
和/或,所述第三扫描子模块,还适于在各用户的第一或第二设置管理注册表中,读取各个设备使用后产生的注册表子项中序列号子键下的Driver键值,并依据所述Driver键值在相应的第五设置管理注册表中,GUID的子键下读取设备的安装日期。
本发明实施例中,当所述类目列表包括至少一种使用日期的类目信息时,所述属性信息为设备的使用日期;
所述属性信息扫描模块包括:
第四扫描子模块,适于在各用户的第四设置管理注册表中,针对各个设备使用后产生的注册表子项,通过系统注册表的API函数,获取此子键的最后修改时间,得到设备的使用日期。
本发明实施例中,在所述将属性信息与类目列表进行匹配得到至少一个类目信息的步骤之后,所述装置还包括:
展示模块,适于将匹配得到的至少一个类目信息展示在客户端。
本发明实施例中,所述清理模块包括:
属性信息清理子模块,适于依据对某个类目信息的清理请求,以及属性信息与注册表和/或系统文件的对应关系,清理相关的注册表,和/或清理系统文件中的设备的所有属性信息。
本发明实施例中,所述属性信息清理子模块包括:
只读锁定去除子单元,适于去除待清理的注册表的只读锁定;
驱动删除子单元,适于向驱动层发送注册表键值清理请求,驱动在接收到请求后执行删除注册表的键值或/注册表项的操作。
本发明实施例中,在对相关的注册表和/或系统文件进行清理的步骤之前,所述装置还包括:
报警模块,适于用于枚举客户端上连接的设备,如果发现有设备正在使用,则生成删除警报的提示信息,并显示在客户端。
本发明实施例通过预置包含多个类目列表的设备信息数据库,在设备相关的注册表和系统文件这些保留着设备使用痕迹的文件中,扫描与类目列表对应的属性信息,并与类目列表进行匹配,将设备注册表和系统文件划分为多种类目信息,例如按照设备类型分为手机设备,USB存储设备,数码相机等,用户请求清理某种类目信息时,就对相关的注册表和/或系统文件进行清理,从而使用户可以选择性的清除存储设备的使用痕迹。
本发明实施例通过去除注册表的只读锁定,然后由驱动层对注册表进行清理,从而使设备的使用痕迹可以从注册表的层次得到清理。
本发明实施例在清除使用痕迹之前,为了避免影响用户当前的使用或是导致数据丢失,先可以先枚举客户端当前所有设备,如果发现有设备正在使用,则生成删除警报的提示信息,并显示在客户端。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
参考图1,示出了本发明实施例实施例的一种设备使用痕迹的清理方法实施例1的步骤流程图,具体可以包括以下步骤:
步骤101、预置设备信息数据库,所述设备信息数据库中包括至少一个类目列表,所述类目列表中包括至少一种类目信息。
本发明实施例中,所述设备可以是存储设备或用户设备上的其他外接设备。
本发明实施例针对各种设备,首先预置了设备信息数据库,其中包括至少一个类目列表,类目列表上有对设备的不同分类的类目信息。
例如,将存储设备按照品牌型号进行分类时,所述类目列表包括至少一个品牌型号的类目信息,如Kingston DT 101G2、Motorola ME 525等;按照设备类型进行分类时,类目列表上包括至少一种设备类型的类目信息,如手机设备、USB存储设备、数码相机等;按照驱动安装日期进行分类时,类目列表包括至少一种安装日期的类目信息,如本周内、一月内、一年内等;按照使用日期进行分类时,类目列表包括至少一种使用日期的类目信息,如上周内、上个月、去年一年内等。
步骤102、在设备相关的注册表和/或系统文件中,扫描设备与所述类目列表对应的属性信息。
设备与客户端相连后,会在一些注册表和系统文件中留下痕迹,即这些注册表和系统文件中会包括该设别的相关属性信息,例如设备类型、使用时间等等。
设备信息数据库中可以包含一个或多个类目列表,在扫描设备的属性信息时,可以依据其中一个或多个类目列表分别进行扫描。
本发明实施例中,可以按照预设频率自动触发扫描设备与所述类目列表对应的属性信息,即定期进行扫描,当然也可以人工手动触发扫描。
本发明实施例中,当所述类目列表包括至少一种品牌型号的类目信息时,相应的,属性信息即是设备的品牌型号,所述步骤102可以包括:
子步骤S11、在各用户的第一设置管理注册表中,各个设备使用后产生的注册表子项下,读取设备名称注册表项的键值,得到设备的品牌型号;
和/或,子步骤S12、在系统安装目录下的驱动日志文件中,读取设备的品牌型号;
和/或,子步骤S13、在各用户的第三设置管理注册表下的注册表项的名称中,读取设备的品牌型号。
对于存储设备,与客户端相连后,其品牌型号信息可以记录在三个位置,第一个是用户的第一设置管理注册表中,第二个是系统的安装目录下,第三个是第三设置管理注册表中。
对于当前用户,所述第一设置管理注册表为HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR,在这个注册表项下面有当前用户使用的所有USB存储设备的品牌型号信息。
如图5所示为第一设置管理注册表的示意图,其中左侧注册表项的矩形线框里面,每一项对应一个物理USB存储设备,如Disk&ven_Kingston&Prod_DT_101_G2&Rev_PMAP这个注册表项对应为一个Kingston U盘的信息;每一个设备在使用一次后,都会在左侧产生一个注册表子项,如图5中左侧椭圆形线框标记的部分的三个注册表子项,对应的是三个设备序列号,对应表示该Kingston U盘使用了三次。将其中一项打开,就会看到相关的信息,如图5的右侧的椭圆形线框标记的部分所示,可以在设备名称即FriendlyName注册表项清楚的看到此设备的品牌型号为:Kingston DT 101 G2。
对于非当前用户的其他用户,所述第一设置管理注册表相应为:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Enum\USBSTOR
......
等等,可以在这些注册表中通过上述类似的方法找到存储设备的品牌类型。
本发明实施例还可以在系统安装目录下的驱动日志文件,即setupapi.dev或setupapi.log文件中,读取设备的品牌型号,具体位置是C:\Windows\inf\setupapi.dev或者C:\Windows\inf\setupapi.log,这些文件里同样保存着设备的安装使用痕迹。
如图6所示为客户端SetupApi.dev文件示意图,对应的是某U盘的使用记录,从右侧椭圆形线框标记的部分中可以清楚的看到该U盘的品牌型号为Kingston DT 101G2。
本发明实施例还可以在第三设置管理注册表中找到设备的品牌型号,对于当前用户,所述第三设置管理注册表为HEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\{53f56307-b6bf-11d0-94f2-00a0c91efb8b},如图7所示为第三设置管理注册表的示意图,每个存储设备使用后均会在该注册表下创建子键,如图7中的矩形线框标记的部分,包括了Kingston、Motorola和WD等品牌的存储设备的使用痕迹,以Kingston为例,注册表项的具体形式为:##?#USBSTOR#Disk&Ven_Kingston&Prod_DT_101_G2&Rev_PMAP#001CC0EC33EEBB313708018D&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}。其中可以直接看到USB存储设备的名称(Kingston)和型号(DT_101_G2)。
同样的,对于非当前用户的其他用户,所述第三设置管理注册表相应为:
HEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet001\Control\DeviceClasses\{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
HEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet002\Control\DeviceClasses\{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
......
等等,可以在这些注册表中通过上述类似的方法找到存储设备的品牌类型。
当所述类目列表包括至少一种设备类型的类目信息时,相应的,属性信息即是设备的设备类型;
所述步骤102可以包括:
子步骤S21、在各用户的第二设置管理注册表中,读取各个设备使用后产生的注册表子项中,序列号子键下设备的唯一标识符;
子步骤S22、将所述唯一标识符与预置的多个目标标识符进行对比,确定所述设备的设备类型。
存储设备与客户端相连后,设备类型会记录在第二设置管理注册表中,对于当前用户,所述第二设置管理注册表为HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB,在这个注册表项下面有当前用户使用的所有USB存储设备的设备类型信息。
如图8所示为第二设置管理注册表的示意图,存储设备与客户端相连后,会在第二设置管理注册表在创建一个子键,例如VID_1018&PID_1091,第一个4位数据1018是销售商代码;第二个4位数字1091是产品代码,这个键的子键记录的就是设备的序列号。
序列号的子键下有多个键值,其中键值ClassGUID即设备的唯一标识符,不同类型的设备有着不同的唯一标识符,可以在获取到设备的唯一标识符后,将其与预置的多个目标标识符进行对比,确定所述设备的设备类型。例如,如果ClassGUID的值为{36FC9E60-C465-11CF-8056-444553540000}、USBSTOR,说明这个设备是一个USB存储设备;如果ClassGUID的值为{4D36E96D-E325-11CE-BFC1-08002BE10318},则说明是一个Modem设备,如果ClassGUID的值为{6bdd1fc6-810f-11d0-bec7-08002be2092f}则说明是一个摄像头。
同样的,对于非当前用户的其他用户,所述第二设置管理注册表相应为:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USB
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Enum\USB
......
等等,可以在这些注册表中通过上述类似的方法找到存储设备的设备类型。
当所述类目列表包括至少一种安装日期的类目信息时,相应的,属性信息即是设备的安装日期;
所述步骤102可以包括:
子步骤S31、在系统安装目录下的驱动日志文件中,读取设备的安装日期;
和/或,子步骤S32、在各用户的第一或第二设置管理注册表中,读取各个设备使用后产生的注册表子项中序列号子键下的Driver键值,并依据所述Driver键值在相应的第五设置管理注册表中,GUID的子键下读取设备的安装日期。
存储设备与客户端相连后,安装日期会记录在系统文件的驱动日志中,驱动日志即setupapi.dev或setupapi.log,具体位置是C:\Windows\inf\setupapi.dev或者C:\Windows\inf\setupapi.log,这些文件里同样保存着设备的安装日期。
如图6所示的用户电脑上SetupApi.dev文件对应的某U盘的使用记录,从左侧椭圆形线框标记的部分中可以清楚的看到该U盘的驱动安装日期为15:30:36.361。
本发明实施例还可以通过第一或第二设置管理注册表中,设备使用后产生的注册表子项中序列号子键下的Driver键值,在第五设置管理注册表中找到设备的安装日期。对于当前用户,所述第五设置管理注册表为HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class。
如图5所示的第一设置管理注册表的示意图,序列号的子键下有个Driver键值,如图8所示的第二设置管理注册表的示意图,序列号子键下也有个Driver键值,根据Driver的键值。如图9所示的第五设置管理注册表的示意图,左侧的注册表项名称均为Driver键值,该设备每次使用后便会在该注册表项下建立一个子键,点击每个子键,在右侧的DriverDate键值对应的即是设备的安装日期。
同样的,对于非当前用户的其他用户,所述第五设置管理注册表相应为:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet001\Control\Class
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet002\Control\Class
......
等等,可以在这些注册表中通过上述类似的方法找到存储设备的安装日期。
当所述类目列表包括至少一种使用日期的类目信息时,相应的,属性信息即是设备的使用日期;
所述步骤102可以包括:
子步骤S41、在各用户的第四设置管理注册表中,针对各个设备使用后产生的注册表子项,通过系统注册表的API函数,获取此子键的最后修改时间,得到设备的使用日期。
存储设备与客户端相连后,设备类型会记录在第四设置管理注册表中,对于当前用户,所述第四设置管理注册表为HEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\{a5dcbf10-6530-11d2-901f-00c04fb951ed}。如图10所示为第四设置管理注册表的示意图,各设备使用后会在该注册表下创建子键,形式为:##?#USB#VID_1BD2&PID_0002#5&123c7b60&0&1#{a5dcbf10-6530-11d2-901f-00c04fb951ed},其中5&123c7b60&0&1为设备的序列号,通过windows系统注册表相关的API函数获取此子键的最后修改时间,即为USB存储设备的使用日期。
在具体的实现中,在所述扫描存储设备与类目列表相关的属性信息的步骤之前,还可以接收清理存储设备使用痕迹的请求。
同样的,对于非当前用户的其他用户,所述第四设置管理注册表相应为:
HEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet001\Control\Device Classes\{a5dcbf10-6530-11d2-901f-00c04fb951ed}
HEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet002\Control\Device Classes\{a5dcbf10-6530-11d2-901f-00c04fb951ed}
......
等等,可以在这些注册表中通过上述类似的方法找到存储设备的使用日期。
步骤103、将所述属性信息与所述类目列表进行匹配得到至少一个类目信息。
依据其中一个或多个类目列表分别扫描设备属性信息后,可以将扫描到的属性信息与类目列表进行匹配,例如,设备信息数据库中包括设备类型这种类目列表,其中包括手机设备、USB存储设备、数码相机这三个类目信息。
通过步骤102中的方法,扫描得到所有用户所有设备的属性信息包括手机设备和数码相机,将这两个信息与类目列表进行匹配,得到手机设备和数码相机这两种类目信息。
步骤104、接收清除对某种类目信息的清理请求,并对相关的注册表和/或系统文件进行清理。
将扫描的属性信息与类目列表进行匹配后得到类目信息,可以从中选择一个或多个类目信息进行清理,从而实现了选择性的清除存储设备的使用痕迹的目的,如上例,可以选择清理手机设备或数码相机这两类信息中的一种设备的痕迹,也可以两种设备的痕迹都删除。在具体的实现中,所述步骤104可以包括:
子步骤S51、依据对某个类目信息的清理请求,以及属性信息与注册表和/或系统文件的对应关系,清理相关的注册表,和/或清理系统文件中的设备的所有属性信息。
在步骤102的扫描过程中,可以将设备的属性信息和保存该信息的注册表或系统文件的对应关系记录下来,在步骤104中可以直接依据此对应关系,在相应的注册表和系统文件,找出设备的属性信息,并进行清理。
系统文件都是纯文本文件,根据这些文件的格式,仅把需要要删除的属性信息删除,然后再把文件保存回去即可实现清除痕迹的效果。
在具体的实现中,对于注册表,用户可以选择删除注册表中设备属性信息或是删除相关的注册表,一般情况下并不会删除具体的某个注册表,若属性信息存在于注册表项的名称中,可以直接清除该注册表项,若属性信息存在于键值中,则直接删除相应的注册表的键值即可。
由于普通用户,即使是管理员没有权限删除相关注册表项,在执行删除操作后客户端界面一般会弹出删除出错的提示框,本发明实施例中,通过驱动层来清理注册表,所述子步骤可以包括:
子步骤S15-1、去除待清理的注册表的只读锁定;
子步骤S15-2、向驱动层发送注册表键值清理请求,驱动层在接收到请求后执行删除注册表的键值或/注册表项的操作。
在具体实现中,客户端的特权可以分为4个级别:RING0、RING1、RING2和RING3。只有系统驱动可以具备RING0的特权,而普通程序权限比较低,只能在RING3下操作,本发明实施例实施例可以通过应用穿透技术去除待清理的注册表只读锁定和打开文件,向驱动层发送注册表键值清理请求,驱动层在接收到请求后执行删除注册表的键值或/注册表项的操作。
本发明实施例可以按照预设频率自动触发扫描设备属性信息的操作,并且可以提前设定对部分或是全部的类目信息进行清理,以实现自动清理设备使用痕迹的目的。如图11所示为客户端清理痕迹的界面示意图,用户可以选择具体的清理项目,或是选择一键清理。例如,清理垃圾、清理痕迹、清理注册表等等,清理垃圾主要是清理硬盘上的垃圾文件,可以为用户释放硬盘空间;清理痕迹主要是清理用户使用软件或设备的使用痕迹,可以保护用户个人隐私;清理注册表主要是清理注册表一些无用的信息,可以提高系统的性能。
一键清理可以帮助用户一次性清理多个项目,可以提高清理的效率,用户可以在相应的项目前进行勾选,然后点击一键清理即可。进一步,用户可以在界面中的选项中设置是否开启自动清理,并可以进一步设置自动清理的频率,如图11所示设置为每天,空闲时清理垃圾和痕迹自动清理在开启后。
参考图2,示出了本发明实施例实施例一种设备使用痕迹的清理方法实施例2的步骤流程图,具体可以包括以下步骤:
步骤201、预置设备信息数据库,所述设备信息数据库中包括至少一个类目列表,所述类目列表中包括至少一种类目信息;
步骤202、在设备相关的注册表和/或系统文件中,扫描设备与所述类目列表对应的属性信息;
步骤203、将所述属性信息与所述类目清单列表进行匹配得到至少一个类目信息;
本实施例中,还可以将匹配得到的类目信息展示在客户端,以供用户进行选择,如图2所示,所述方法还可以包括:
步骤204、将匹配得到的至少一个类目信息展示在客户端。
如图12所示为客户端展示的类目信息示意图,在清理痕迹的选项下,用户点击开始扫描使用痕迹,此处设备为USB设备,如图展示了USB设备匹配到的类目信息,匹配得到的类目信息包括主流U盘、各品牌手机、各品牌数码产品和各品牌移动硬盘,针对各个信息提供可以有删除的选项,用户可以按需要勾选以进行进一步的清理。
为了避免影响用户当前的使用或是导致数据丢失,本发明实施例在清除使用痕迹之前,还可以找出正在使用的设备,如图2所示,所述方法还可以进一步包括:
步骤205、枚举客户端上连接的设备,如果发现有设备正在使用,则生成删除警报的提示信息,并显示在客户端。
具体的,枚举设备可以通过从字母A-Z,循环调用GetDriveType这个API,如果返回结果为DRIVE_REMOVABLE,则说明有USB移动设备正在使用,在清理痕迹之前,生成删除警报的提示信息,并显示在客户端,如图13所示为客户端显示删除警报的提示信息的示意图,提示该设备删除时出错。
步骤206、接收清除对某种类目信息的清理请求,并对相关的注册表和/或系统文件进行清理。
综上所述,本发明实施例实施例提供了一种设备使用痕迹的清理方法,通过预置包含多个类目列表清单的设备信息数据库,在设备相关的注册表和系统文件这些保留着设备使用痕迹的文件中,扫描与类目列表清单对应的属性信息,并与类目列表清单进行匹配,将设备注册表和系统文件划分为多种类目信息,例如按照设备类型分为手机设备,USB存储设备,数码相机等,用户请求清理某种类目信息时,就对相关的注册表和/或是系统文件进行清理,从而使用户可以选择性的清除存储设备的使用痕迹。
本发明实施例实施例通过去除注册表的只读锁定,然后由驱动层对注册表进行清理,从而使设备的使用痕迹可以从注册表的层次得到清理。
本发明实施例实施例在清除使用痕迹之前,为了避免影响用户当前的使用或是导致数据丢失,先可以先枚举客户端当前所有设备,如果发现有设备正在使用,则生成删除警报的提示信息,并显示在客户端。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明实施例所必须的。
参考图3,示出了本发明实施例实施例的一种设备使用痕迹的清理装置实施例1的结构框图,具体可以包括以下模块:
设备信息数据库预置模块301,用于预置设备信息数据库,所述设备信息数据库中包括至少一个类目列表,所述类目列表中包括至少一种类目信息;
属性信息扫描模块302,用于在设备相关的注册表和/或系统文件中,扫描设备与所述类目列表对应的属性信息;
匹配模块303,用于将所述属性信息与所述类目列表进行匹配得到至少一个类目信息;
清理模块304,用于接收清除对某种类目信息的清理请求,并对相关的注册表和/或系统文件进行清理。
在本发明实施例的一种优选实施例中,当所述类目列表包括至少一种品牌型号的类目信息时,所述属性信息可以为设备的品牌型号;
所述属性信息扫描模块包括:
第一扫描子模块,用于在各用户的第一设置管理注册表中,各个设备使用后产生的注册表子项下,读取设备名称注册表项的键值,得到设备的品牌型号;
和/或,第二扫描子模块,用于在系统安装目录下驱动日志文件中,读取设备的品牌型号;
和/或,第三扫描子模块,用于在各用户的第三设置管理注册表下的注册表项的名称中,读取设备的品牌型号。
在本发明实施例的一种优选的实施例中,当所述类目列表包括至少一种设备类型的类目信息时,所述属性信息可以为设备的设备类型;
所述属性信息扫描模块包括:
第四扫描子模块,用于在各用户的第二设置管理注册表中,读取各个设备使用后产生的注册表子项中,序列号子键下设备的唯一标识符;
对比子模块,用于将所述唯一标识符与预置的多个目标标识符进行对比,确定所述设备的设备类型。
在本发明实施例的一种优选的实施例中,当所述类目列表包括至少一种安装日期的类目信息时,所述属性信息可以为设备的安装日期;
所述属性信息扫描模块包括:
第五扫描子模块,用于在系统安装目录下的驱动日志文件中,读取设备的安装日期;
和/或,第六扫描子模块,用于在各用户的第一或第二设置管理注册表中,读取各个设备使用后产生的注册表子项中序列号子键下的Driver键值,并依据所述Driver键值在相应的第五设置管理注册表中,GUID的子键下读取设备的安装日期。
在本发明实施例的一种优选的实施例中,当所述类目列表包括至少一种使用日期的类目信息时,所述属性信息可以为设备的使用日期;
所述属性信息扫描模块包括:
第七扫描子模块,用于在各用户的第四设置管理注册表中,针对各个设备使用后产生的注册表子项,通过系统注册表的API函数,获取此子键的最后修改时间,得到设备的使用日期。
在本发明实施例的一种优选的实施例中,所述清理模块可以包括:
属性信息清理子模块,用于依据对某个类目信息的清理请求,以及属性信息与注册表和/或系统文件的对应关系,清理相关的注册表,和/或清理系统文件中的设备的所有属性信息。
在本发明实施例的一种优选的实施例中,所述属性信息清理子模块可以包括:
只读锁定去除子单元,用于去除待清理的注册表的只读锁定;
驱动删除子单元,用于向驱动层发送注册表键值清理请求,通过驱动层在接收到请求后执行删除注册表的键值或/注册表项的操作。
参考图4,示出了本发明实施例实施例的一种设备使用痕迹的清理装置实施例2的结构框图,具体可以包括以下模块:
设备信息数据库预置模块401,用于预置设备信息数据库,所述设备信息数据库中包括至少一个类目列表,所述类目列表中包括至少一种类目信息;
属性信息扫描模块402,用于在设备相关的注册表和/或系统文件中,扫描设备与所述类目列表对应的属性信息;
匹配模块403,用于将所述属性信息与所述类目列表进行匹配得到至少一个类目信息。
本实施例中,还可以将匹配得到的类目信息展示在客户端,以供用户进行选择,如图4所示,所述装置还可以包括:
展示模块404,用于将匹配得到的至少一个类目信息展示在客户端。
为了避免影响用户当前的使用或是导致数据丢失,本发明实施例在清除使用痕迹之前,还可以找出正在使用的设备,如图4所示,所述装置还可以进一步包括:
报警模块405,用于枚举客户端上连接的设备,如果发现有设备正在使用,则生成删除警报的提示信息,并显示在客户端。
清理模块406,用于接收清除对某种类目信息的清理请求,并对相关的注册表和/或系统文件进行清理。
对于上述屏幕截图装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见图1和2所示方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本申请的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的设备使用痕迹的清理设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。