禁止启动项目自启动的方法和装置的制作方法

文档序号:6382659阅读:177来源:国知局

专利名称::禁止启动项目自启动的方法和装置的制作方法
技术领域
:本发明涉及计算机系统,尤其涉及一种禁止启动项目自启动的方法和装置。
背景技术
:随着计算机技术的发展,各种计算机程序大量涌现,许多应用程序为了能够响应于用户的操作而快速启动,都选择了随计算机操作系统启动而自启动。启动项目,就是指的这种随计算机操作系统启动而自启动、随后在前台或者后台运行的程序。这种自启动的启动项目尽管可以在用户操作时实现快速启动,但是却占用了大量的系统资源,导致计算机(尤其是配置较低的计算机)开机操作系统启动时间大幅延长,严重影响了计算机用户的工作效率。大部分用户遇到操作系统启动慢的情况,就会怀疑计算机感染了病毒,便会使用安全软件进行病毒扫描,却往往检测不出病毒。如上所述,造成操作系统启动慢的原因往往是某些启动项目占用了较多的系统资源。用户可以通过计算机系统的任务管理器查看当前活动进程的CPU(CentralProcessingUnit,中央处理单元)和内存占用情况,可以对各进程的占用情况进行排序,从而查看资源占用较高的进程,并且可以选择结束资源占用较高的进程。然而,由于启动项目的特性,在下一次计算机系统启动时,仍然会自启动,占用系统资源。由于操作系统的系统总开机时间主要是指操作系统启动整个开机过程所需要的时间,开机过程通常包括加载系统文件、启动核心服务,显示欢迎界面、等待用户输入账号密码、根据个人配置加载非关键服务,加载自启动程序等一系列过程。总之,从操作系统开机启动到所有开机启动项目目加载完毕,这段时间都应算到操作系统的系统总开机时间中。这样,在开机上电后,计算机会先检测并初始化硬件设备成功后启动加载操作系统,一个一个应用程序依次启动。也即,功能愈多,即意味着计算机内的操作系统需花费更多时间加载各种软件及程序。如此一来,在使用者使用计算机之前,即已花费了许多时间在等待上,特别是开机所需耗费的时间更长,着实令使用者感到不方便与繁琐。
发明内容鉴于上述问题,提出了本发明,以便提供一种克服上述问题或者至少部分地解决上述问题的禁止启动项目自启动的方法以及相应的装置。依据本发明的一个方面,提供了一种禁止启动项目自启动的方法,包括以下步骤获取计算机操作系统的启动项目的信息;获取正在运行的启动项目以及已经结束运行的启动项目所占用的系统资源的情况;以及根据启动项目所占用的系统资源的情况,禁止启动项目在计算机操作系统启动时自启动。可选地,在根据本发明的实施例的禁止启动项目自启动的方法中,所述系统资源包括中央处理单元资源、输入输出资源、网络流量资源、内存资源。可选地,在根据本发明的实施例的禁止启动项目自启动的方法中,利用系统接口GetProcessTimes获取正在运行的启动项目所占用的中央处理单元资源的情况。可选地,在根据本发明的实施例的禁止启动项目自启动的方法中,利用系统接口GetProcessIoCounters获取正在运行的启动项目所占用的输入输出资源的情况。可选地,在根据本发明的实施例的禁止启动项目自启动的方法中,利用流量监控接口获取正在运行的启动项目所占用的网络流量资源的情况。可选地,在根据本发明的实施例的禁止启动项目自启动的方法中,利用系统接口GetProcessMemorylnfo获取正在运行的启动项目所占用的内存资源的情况。可选地,在根据本发明的实施例的禁止启动项目自启动的方法中,利用应用程序编程接口PsSetCreateProcessNotifyRoutine注册进程退出回调事件,在启动项目结束运行时获取其所占用的系统资源的情况。可选地,在根据本发明的实施例的禁止启动项目自启动的方法中,在所述根据启动项目所占用的系统资源的情况、禁止启动项目在计算机操作系统启动时自启动的步骤中,禁止所占用的系统资源超过预先定义的阈值的启动项目在计算机操作系统启动时自启动。可选地,在根据本发明的实施例的禁止启动项目自启动的方法中,在所述根据启动项目所占用的系统资源的情况、禁止启动项目在计算机操作系统启动时自启动的步骤中,通过计算机操作系统以画面和/或声音的方式通知启动项目所占用的系统资源的情况,并且响应于用户的操作禁止启动项目在计算机操作系统启动时自启动。可选地,在根据本发明的实施例的禁止启动项目自启动的方法中,所述启动项目包括开始菜单启动项目、注册表启动项目、计划任务启动项目、服务启动项目。依据本发明的另一方面,提供了一种禁止启动项目自启动的装置,包括启动项目信息获取器,适于获取计算机操作系统的启动项目的信息;系统资源情况获取器,适于获取正在运行的启动项目以及已经结束运行的启动项目所占用的系统资源的情况;以及自启动禁止器,适于根据启动项目所占用的系统资源的情况,禁止启动项目在计算机操作系统启动时自启动。可选地,在根据本发明的实施例的禁止启动项目自启动的装置中,所述系统资源包括中央处理单元资源、输入输出资源、网络流量资源、内存资源。可选地,在根据本发明的实施例的禁止启动项目自启动的装置中,所述系统资源情况获取器利用系统接口GetProcessTimes获取正在运行的启动项目所占用的中央处理单元资源的情况。可选地,在根据本发明的实施例的禁止启动项目自启动的装置中,所述系统资源情况获取器利用系统接口GetProcessIoCounters获取正在运行的启动项目所占用的输入输出资源的情况。可选地,在根据本发明的实施例的禁止启动项目自启动的装置中,所述系统资源情况获取器利用流量监控接口获取正在运行的启动项目所占用的网络流量资源的情况。可选地,在根据本发明的实施例的禁止启动项目自启动的装置中,所述系统资源情况获取器利用系统接口GetProcessMemorylnfo获取正在运行的启动项目所占用的内存资源的情况。可选地,在根据本发明的实施例的禁止启动项目自启动的装置中,所述系统资源情况获取器利用应用程序编程接口PsSetCreateProcessNotifyRoutine注册进程退出回调事件,在启动项目结束运行时获取其所占用的系统资源的情况。可选地,在根据本发明的实施例的禁止启动项目自启动的装置中,所述自启动禁止器禁止所占用的系统资源超过预先定义的阈值的启动项目在计算机操作系统启动时自启动。可选地,在根据本发明的实施例的禁止启动项目自启动的装置中,所述自启动禁止器通过计算机操作系统以画面和/或声音的方式通知启动项目所占用的系统资源的情况,并且响应于用户的操作禁止启动项目在计算机操作系统启动时自启动。可选地,在根据本发明的实施例的禁止启动项目自启动的装置中,所述启动项目包括开始菜单启动项目、注册表启动项目、计划任务启动项目、服务启动项目。依据本发明的另一方面,还提供了一种加快计算机操作系统启动速度的方法,包括以下步骤获取计算机操作系统的启动项目的信息;获取正在运行的启动项目以及已经结束运行的启动项目所占用的系统资源的情况;以及在计算机操作系统启动时,仅允许所占用系统资源不超过预先定义的阈值的启动项目自启动。本发明提供了上述禁止启动项目自启动的方法和装置。根据本发明的实施例,可以获取计算机操作系统正在运行的启动项目以及已经结束运行的启动项目所占用的系统资源的情况,并据此禁止启动项目在计算机操作系统启动时自启动,这样,只能暂时结束启动项目、启动项目待系统重新启动时会再次自启动的这一问题,就得到了根本的解决,彻底解决了开机速度慢的问题。而且,根据本发明的实施例,还可以获取已经结束运行的启动项目所占用的系统资源的情况,并且可以根据其所占用系统资源的情况选择禁止其在操作系统启动时自启动,解决了只能针对仍在运行的启动项目进行处理的缺陷。另外,还可以以画面和/或声音的方式向用户通知启动项目所占用的系统资源的情况,并且响应于用户的操作禁止启动项目在操作系统启动时自启动,避免了将用户希望自启动的启动项目禁止掉。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中图1是根据本发明的实施例的禁止启动项目自启动的方法的示意流程图;图2是根据本发明的实施例的禁止启动项目自启动的装置的示意框图;以及图3是根据本发明的实施例的加快计算机操作系统启动速度的方法的示意流程图。具体实施例方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。图1示意性地图示了根据本发明的实施例的禁止启动项目自启动的方法100的流程图。在下文中,将以微软公司的Windows操作系统为例,对于本发明的原理进行示例性地描述。然而,这只是为了示例的目的,以帮助读者理解本发明的原理,本发明的范围并不限于此,本发明的原理同样适用于其它计算机操作系统,例如MacOS、Linux等等。如图1所示,根据本发明的实施例的禁止启动项目自启动的方法100开始于步骤S101,其中,获取计算机操作系统(例如,Windows)的启动项目的信息。根据本发明的实施例,所述启动项目可以包括开始菜单启动项目、注册表启动项目、计划任务启动项目、服务启动项目。下面具体描述如何获取这几种启动项目的信息。(I)开始菜单启动项目对于开始菜单启动项目,可以使用API(ApplicationProgrammingInterface,应用程序编程接口)SHGetSpecialFolderLocation来获取操作系统的当前用户和所有用户的开始菜单启动项目所在的目录。对于目录下的文件,如果是PE(PortableExecutable,可移植可执行)文件,则可以直接获取启动项目的名称和路径;而对于快捷方式文件,可以使用IShellLink接口来获取快捷方式所指向的实际文件或路径。(2)注册表启动项目对于注册表启动项目,可以枚举注册表,对于Windows系统,注册表可以例如可以是HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ffindows\CurrentVersion\Run,以及HKEY_CURRENT_USER\Software\Microsoft\Windows\Cu;rrentVersion\Run。上述两个注册表位置仅为示例,其他注册表位置的处理方式与其相同。每个注册表的值对应于一个启动项目,值的名称对应于启动项目名称,而值的数据对应于启动项目路径。(3)计划任务启动项目对于计划任务启动项目,当Windows系统版本为WindowsXP或者更早版本(例如Windows98)时,可以枚举“Windows安装目录\tasks”目录下的所有.job文件,对于每个.job文件,通过ITask接口获取路径。只要存在于“Windows安装目录\tasks”目录下的.job文件,都可以认为是自启动的启动项目。而当Windows系统版本为WindowsVista或者更新版本(例如Windows7和Windows8)时,可以使用ITaskService接口,连接到计划任务服务,递归枚举所有服务,对于每个计划任务,使用IRegisteredTask接口获取自启动状态,使用IExecAction接口获取程序路径。(4)服务启动项目对于服务启动项目,可以使用EnumServicesStatus接口获取服务管理程序中的服务,这里的服务包括SERVICE_DRIVER和SERVICE_WIN32,可选地,可以只获取SERVICE_WIN32,即应用软件服务。可以使用OpenService接口打开服务,用以获取服务信息,并且使用QueryServiceConfig接口获取服务配置信息(启动类型,程序路径),其中所需要的启动类型为启用软件自启动,即SERVICE_AUT0_START0x00000002。在步骤SlOl之后,执行步骤S103,即获取正在运行的启动项目以及已经结束运行的启动项目所占用的系统资源的情况。根据本发明的实施例,所述系统资源可以包括CPU(CentralProcessingUnit,中央处理单元)资源、IO(Input/Output,输入输出)资源、网络流量资源、内存资源。根据本发明的实施例,对于CPU资源,可以利用系统接口GetProcessTimes来获取正在运行的启动项目所占用的CPU资源的情况,例如占用CPU资源的百分比。根据本发明的实施例,对于IO资源,可以利用系统接口GetProcessIoCounters获取正在运行的启动项目所占用的10资源的情况。系统创建进程时,会在内核中为这个进程创建并维护一个数据结构,用以记录进程运行期间使用的资源,其中就包括10资源使用情况,定义例如如下typedefstructEPROCESS{LARGEINTEGERReadOperationCount;//进行读操作次数LARGEINTEGERWriteOperationCount;//进行写操作次数LARGEINTEGEROtherOperationCount;//除去读写以外的K)操作次数LARGEINTEGERReadTransferCount;//读的字节数LARGEINTEGERWriteTransferCount;//写的字节数LARGEINTEGEROtherTransferCount;H除去读写外的其他IO字节数}EPROCESS,*PEPROCESS当使用接口GetProcessIoCounters时,系统会根据第一个参数HANDLE(即进程句柄),找到这个进程在内核中对应的EPROCESS结构,找到后,将10相关字段返回给调用者使用。根据本发明的实施例,对于网络流量资源,可以利用流量监控接口获取正在运行的启动项目所占用的网络流量资源的情况,其中,可以调用流量监控接口,并且调用测速接口,来获取启动项目所占用的瞬时网速、累计流量等网络流量资源的情况。根据本发明的实施例,对于内存资源,可以利用系统接口GetProcessMemorylnfo来获取正在运行的启动项目所占用的内存资源的情况。在系统内核中用于描述进程的结构中,包含了进程使用的内存信息,定义例如如下typedefstructEPROCESS{MMSUPPORTVm;}EPROCESS,叩EPROCESS其中,MMSUPPORT是用于记录进程内存使用的结构,其中的关键字段例如如下typedefstructMMSUPPORT{WSLE—NUMBERWorkingSetSize;//进程当前内存占用字节数}MMSUPPORT,叩MMSUPPORT当使用接口GetProcessMemorylnfo获取进程内存占用情况时,系统根据参数HANDLE(即进程句柄),在内核中找到进程对应的EPROCESS结构,就可以得到对应的内存描述结构Vm,得到Vm后,就可以把WorkingSetSize返回给调用者,这样就得到了当前进程的内存占用值。根据本发明的实施例,可以利用APIPsSetCreateProcessNotifyRoutine注册进程退出回调事件,在启动项目结束运行时获取其所占用的系统资源的情况,从而就可以获取已经结束运行的启动项目所占用的系统资源的情况。其中,利用常驻内存的驱动,通过APIPsSetCreateProcessNotifyRoutine注册进程退出回调事件,当有进程退出(启动项目结束运行)时,系统通知该驱动,驱动会将这个启动项目运行时的信息(包括PID(ProcessID,进程ID)、进程路径、命令行、启动时间、结束时间、父进程PID、所占用的CPU、10、内存、网络流量等)记录到数据文件中,之后就可以通过解析这个文件,获取已经结束运行的启动项目所占用的系统资源的情况。可选地,也可以通过下面的方式,将占用系统资源过多的启动项目的进程信息保存在进程和信息库中。具体而言,对于占用系统资源超过预先定义的阈值的启动项目,这些启动项目的运行会导致系统资源总量消耗过大,系统出现运行缓慢甚至假死的现象。这种启动项目还包括导致操作系统发生异常的启动项目,这种启动项目可以通过操作系统的堆栈(即CPU从内存中调用数据的过程)或者操作系统自身的错误日志来搜集查找。这种启动项目还包括在系统启动之后执行的启动项目,它们是在系统加载了保证用户正常使用和系统正常运行的基本进程后启动的应用程序。上述基本进程包括最基本的维持系统稳定的系统进程、系统或者用户自己添加的一些关于系统环境设置的进程(如网络环境的进程、安全环境的进程)。具体来说,通过实时或者周期监控发现一个启动项目相关的新的进程时,根据这个进程的父进程标识/子进程标识找到其上层进程/下层进程,根据这个上层进程/下层进程逐级再向上层/下层寻找,最终找到主进程,从而可以判断出所述上层进程/下层进程与所述主进程是否具有家族关系,在具有家族关系时确定所述新的进程为所述特定应用程序的相关进程并收集记录所述进程,根据所述新的进程更新所述进程信息库,上报至云端。或者,通过实时或者周期监控发现一个新的进程时,根据这个进程的父进程标识/子进程标识找到其上层进程/下层进程,根据一家族关系列表可以直接获知这个上层进程/下层进程与所述主进程是否具有家族关系,在具有家族关系时直接确定所述新的进程为所述特定应用程序的相关进程并收集记录所述进程,根据所述新的进程更新所述进程信息库,上报至云端。或者,通过实时或者周期监控发现有新进程出现时,则触发对已经收集记录的所述应用程序的所有相关进程进行检测,根据所述各相关进程的子进程标识检测是否存在未记录的下层进程,如果存在,则可以确定这个下层进程就是所述特定应用程序的相关进程并收集记录所述下层进程,根据所述下层进程更新所述进程信息库,上报至云端。或者,通过实时或者周期对已经收集记录的所述应用程序的所有相关进程进行检测,根据所述主进程及其上层进程的父进程标识找到其未记录的上层进程,确定所述上层进程为所述特定应用程序的相关进程并收集记录,根据所述上层进程更新所述进程信息库,上报至云端。一般来说,进程信息库中所述特定应用程序的相关进程由技术人员根据经验及统计数据进行分析穷举所得到并需要不断的更新维护;这些相关进程,是指与特定应用程序相关的全部可能的进程,不论其当前是否已随应用程序启动;但是进程信息库除了通过技术人员维护,还可以通过云方式进行收集更新,例如通过黑名单方式将用户上报的特定应用程序的相关进程收集更新。进程信息库中记录的是所述进程的进程名、标识和/或路径名。进程信息库可以存放在云端,在用户终端系统启动并且联网后加载到用户终端,或者由云端根据进程信息库直接进行监控;也可以存在用户终端,定期由用户终端去云端下载更新。在步骤S103之后,执行步骤S105,其中根据启动项目所占用的系统资源的情况,禁止启动项目在计算机操作系统启动时自启动。根据本发明的实施例,可以禁止所占用的系统资源超过预先定义的阈值的启动项目在计算机操作系统启动时自启动。可选地,可以针对CPU资源、IO资源、网络流量资源、内存资源等分别定义阈值,并且规定如果启动项目所占用的资源超过这些阈值的项数大于预定项数,就禁止该启动项目在计算机操作系统启动时自启动。例如,假设上述预定项数为2项,如果一个启动项目所占用的CPU资源大于CPU资源阈值,所占用的IO资源小于IO资源阈值,所占用的网络流量资源大于网络流量资源阈值,所占用的内存资源大于内存资源阈值,则该启动项目所占用的资源超过阈值的项数为3项,大于预定项数,于是,禁止该启动项目在计算机操作系统启动时自启动。根据本发明的实施例,在步骤S105中,可以通过计算机操作系统以画面和/或声音的方式通知启动项目所占用的系统资源的情况,并且响应于用户的操作禁止启动项目在计算机操作系统启动时自启动。例如,在计算机操作系统(例如Windows)的图形界面中显示反映启动项目所占用系统资源情况的tip,也可以通过计算机的扬声器等向用户通知启动项目所占用系统资源情况,这样用户就可以根据自身需求,选择禁止某些启动项目在计算机操作系统启动时自启动。例如,如果某影音播放软件默认为自启动,并且占用较多的系统资源,而用户并不经常使用该软件,则用户可以根据上述画面和/或声音方式的通知,选择禁止该软件在计算机操作系统启动时自启动。可选地,也可以通过查询云端的进程信息库中记录的信息,例如,哪些进程名对应的启动项目是需要禁用的,来禁止这些启动项目在计算机操作系统启动时自启动。下面针对开始菜单启动项目、注册表启动项目、计划任务启动项目、服务启动项目,分别描述如何禁止这些启动项目在计算机操作系统启动时自启动。(I)开始菜单启动项目对于开始菜单启动项目,可以将启动项目文件(PE文件或快捷方式文件)移动到非启动目录的特定目录中。这样,既可以禁止其在计算机操作系统启动时自启动,又可以在希望恢复其自启动时使用。(2)注册表启动项目对于注册表启动项目,可以将注册表下对应的值读取出来,并且保存特定的配置文件中,随后删除响应的注册表值。这样,既可以禁止注册表启动项目在计算机操作系统启动时自启动,又可以在希望恢复其自启动时使用该配置文件来进行恢复。(3)计划任务启动项目对于计划任务启动项目,当Windows系统版本为WindowsXP或者更早版本(例如Windows98)时,可以将.job文件移动到非启动目录的特定目录中,这样,既可以禁止其在计算机操作系统启动时自启动,又可以在希望恢复其自启动时使用;而当Windows系统版本为WindowsVista或者更新版本(例如Windows7和Windows8)时,可以使用IRegisteredTask接口,来禁止其自启动。(4)服务启动项目对于服务启动项目,可以将服务启动项目所对应注册表的start值修改为3,即将该服务启动项目变为手动启动。本发明提供了上述禁止启动项目自启动的方法。根据本发明的实施例,可以获取计算机操作系统正在运行的启动项目以及已经结束运行的启动项目所占用的系统资源的情况,并据此禁止启动项目在计算机操作系统启动时自启动,这样,只能暂时结束启动项目、启动项目待系统重新启动时会再次自启动的这一问题,就得到了根本的解决,彻底解决了开机速度慢的问题。而且,根据本发明的实施例,还可以获取已经结束运行的启动项目所占用的系统资源的情况,并且可以根据其所占用系统资源的情况选择禁止其在操作系统启动时自启动,解决了只能针对仍在运行的启动项目进行处理的缺陷。另外,还可以以画面和/或声音的方式向用户通知启动项目所占用的系统资源的情况,并且响应于用户的操作禁止启动项目在操作系统启动时自启动,避免了将用户希望自启动的启动项目禁止掉。与上述方法100相对应,本发明还提供了一种禁止启动项目自启动的装置200。图2示意性地图示了根据本发明的实施例的禁止启动项目自启动的装置200。参见图3,设备200包括启动项目信息获取器201、系统资源情况获取器203、以及自启动禁止器205。根据本发明的实施例,启动项目信息获取器201适于获取计算机操作系统的启动项目的信息;系统资源情况获取器203适于获取正在运行的启动项目以及已经结束运行的启动项目所占用的系统资源的情况;自启动禁止器205适于根据启动项目所占用的系统资源的情况,禁止启动项目在计算机操作系统启动时自启动。启动项目信息获取器201、系统资源情况获取器203、以及自启动禁止器205可以分别用于执行上述禁止启动项目自启动的方法100中的步骤S101、S103、S105。根据本发明的实施例,所述启动项目可以包括开始菜单启动项目、注册表启动项目、计划任务启动项目、服务启动项目。启动项目信息获取器201可以分别获取这几种启动项目的信息,其中具体的方式与针对步骤SlOl进行的描述中提到的方式相同,在此不再赘述。随后,系统资源情况获取器203获取正在运行的启动项目以及已经结束运行的启动项目所占用的系统资源的情况。根据本发明的实施例,所述系统资源包括CPU资源、IO资源、网络流量资源、内存资源。根据本发明的实施例,所述系统资源情况获取器203可以利用系统接口GetProcessTimes获取正在运行的启动项目所占用的CPU资源的情况,可以利用系统接口GetProcessIoCounters获取正在运行的启动项目所占用的IO资源的情况,可以利用流量监控接口获取正在运行的启动项目所占用的网络流量资源的情况,可以利用系统接口GetProcessMemorylnfo获取正在运行的启动项目所占用的内存资源的情况,可以利用应用程序编程接口PsSetCreateProcessNotifyRoutine注册进程退出回调事件,在启动项目结束运行时获取其所占用的系统资源的情况。所述系统资源情况获取器203获取上述系统资源情况的方式与上文中针对步骤S103进行的描述中提到的方式相同,在此不再赘述。随后,所述自启动禁止器205可以根据启动项目所占用的系统资源的情况,禁止启动项目在计算机操作系统启动时自启动。可选地,所述自启动禁止器205可以禁止所占用的系统资源超过预先定义的阈值的启动项目在计算机操作系统启动时自启动;所述自启动禁止器205也可以通过计算机操作系统以画面和/或声音的方式通知启动项目所占用的系统资源的情况,并且响应于用户的操作禁止启动项目在计算机操作系统启动时自启动。所述自启动禁止器205禁止启动项目自启动的方式与上文中针对步骤S105进行的描述中提到的方式相同,在此不再赘述。本发明提供了上述禁止启动项目自启动的装置。根据本发明的实施例,可以获取计算机操作系统正在运行的启动项目以及已经结束运行的启动项目所占用的系统资源的情况,并据此禁止启动项目在计算机操作系统启动时自启动,这样,只能暂时结束启动项目、启动项目待系统重新启动时会再次自启动的这一问题,就得到了根本的解决,彻底解决了开机速度慢的问题。而且,根据本发明的实施例,还可以获取已经结束运行的启动项目所占用的系统资源的情况,并且可以根据其所占用系统资源的情况选择禁止其在操作系统启动时自启动,解决了只能针对仍在运行的启动项目进行处理的缺陷。另外,还可以以画面和/或声音的方式向用户通知启动项目所占用的系统资源的情况,并且响应于用户的操作禁止启动项目在操作系统启动时自启动,避免了将用户希望自启动的启动项目禁止掉。由于上述各装置实施例与前述各方法实施例相对应,因此不再对各装置实施例进行详细描述。根据本发明的又一方面,还提供了一种加快计算机操作系统启动速度的方法300。图3示意性地图示了根据本发明的实施例的加快计算机操作系统启动速度的方法300的示意流程图。如图3所示,方法300包括步骤S301、步骤S303、以及步骤S305。在步骤S301中,获取计算机操作系统的启动项目的信息。步骤S301可以采取与上述方法100中的步骤SlOl相同的方式来执行,具体执行方式不再赘述。接下来,执行步骤S303,获取正在运行的启动项目以及已经结束运行的启动项目所占用的系统资源的情况。步骤S303可以采取与上述方法100中的步骤S103相同的方式来执行,具体执行方式不再赘述。然后,执行步骤S305,在计算机操作系统启动时,仅允许所占用系统资源不超过预先定义的阈值的启动项目自启动。具体而言,可以如上述方法100中的步骤S105那样,根据启动项目所占用的系统资源的情况,禁止启动项目在计算机操作系统启动时自启动。例如可以禁止所占用的系统资源超过预先定义的阈值的启动项目在计算机操作系统启动时自启动,从而仅允许所占用系统资源不超过预先定义的阈值的启动项目自启动。在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。本领域那些技术人员可以理解,可以对实施例中的装置中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个装置中。可以把实施例中的若干模块组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者模块中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。本发明的各个装置实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置中的一些或者全部模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。本文公开了Al.—种禁止启动项目自启动的方法(100),包括以下步骤获取计算机操作系统的启动项目的信息(SlOl);获取正在运行的启动项目以及已经结束运行的启动项目所占用的系统资源的情况(S103);以及根据启动项目所占用的系统资源的情况,禁止启动项目在计算机操作系统启动时自启动(S105)。A2.如Al所述的方法,其中所述系统资源包括中央处理单元资源、输入输出资源、网络流量资源、内存资源。A3.如A2所述的方法,其中利用系统接口GetProcessTimes获取正在运行的启动项目所占用的中央处理单元资源的情况。A4.如A2所述的方法,其中利用系统接口GetProcessIoCounters获取正在运行的启动项目所占用的输入输出资源的情况。A5.如A2所述的方法,其中利用流量监控接口获取正在运行的启动项目所占用的网络流量资源的情况。A6.如A2所述的方法,其中利用系统接口GetProcessMemorylnfo获取正在运行的启动项目所占用的内存资源的情况。A7.如A2所述的方法,其中利用应用程序编程接口PsSetCreateProcessNotifyRoutine注册进程退出回调事件,在启动项目结束运行时获取其所占用的系统资源的情况。AS.如A1-A7中的任一项所述的方法,其中在所述根据启动项目所占用的系统资源的情况、禁止启动项目在计算机操作系统启动时自启动(S105)的步骤中,禁止所占用的系统资源超过预先定义的阈值的启动项目在计算机操作系统启动时自启动。A9.如A1-A7中的任一项所述的方法,其中在所述根据启动项目所占用的系统资源的情况、禁止启动项目在计算机操作系统启动时自启动(S105)的步骤中,通过计算机操作系统以画面和/或声音的方式通知启动项目所占用的系统资源的情况,并且响应于用户的操作禁止启动项目在计算机操作系统启动时自启动。A10.如A1-A7中的任一项所述的方法,其中所述启动项目包括开始菜单启动项目、注册表启动项目、计划任务启动项目、服务启动项目。本文公开了Bll.—种禁止启动项目自启动的装置(200),包括启动项目信息获取器(201),适于获取计算机操作系统的启动项目的信息;系统资源情况获取器(203),适于获取正在运行的启动项目以及已经结束运行的启动项目所占用的系统资源的情况;以及自启动禁止器(205),适于根据启动项目所占用的系统资源的情况,禁止启动项目在计算机操作系统启动时自启动。B12.如Bll所述的装置,其中所述系统资源包括中央处理单元资源、输入输出资源、网络流量资源、内存资源。B13.如B12所述的装置,其中所述系统资源情况获取器(203)利用系统接口GetProcessTimes获取正在运行的启动项目所占用的中央处理单元资源的情况。B14.如B12所述的装置,其中所述系统资源情况获取器(203)利用系统接口GetProcessIoCounters获取正在运行的启动项目所占用的输入输出资源的情况。B15.如B12所述的装置,其中所述系统资源情况获取器(203)利用流量监控接口获取正在运行的启动项目所占用的网络流量资源的情况。B16.如B12所述的装置,其中所述系统资源情况获取器(203)利用系统接口GetProcessMemorylnfo获取正在运行的启动项目所占用的内存资源的情况。B17.如B12所述的装置,其中所述系统资源情况获取器(203)利用应用程序编程接口PsSetCreateProcessNotifyRoutine注册进程退出回调事件,在启动项目结束运行时获取其所占用的系统资源的情况。B18.如B11-B17中的任一项所述的装置,其中所述自启动禁止器(205)禁止所占用的系统资源超过预先定义的阈值的启动项目在计算机操作系统启动时自启动。B19.如B11-B17中的任一项所述的装置,其中所述自启动禁止器(205)通过计算机操作系统以画面和/或声音的方式通知启动项目所占用的系统资源的情况,并且响应于用户的操作禁止启动项目在计算机操作系统启动时自启动。B20.如B11-B17中的任一项所述的装置,其中所述启动项目包括开始菜单启动项目、注册表启动项目、计划任务启动项目、服务启动项目。本文公开了C21.—种加快计算机操作系统启动速度的方法(300),包括以下步骤获取计算机操作系统的启动项目的信息(S301);获取正在运行的启动项目以及已经结束运行的启动项目所占用的系统资源的情况(S303);以及在计算机操作系统启动时,仅允许所占用系统资源不超过预先定义的阈值的启动项目自启动(S305)。权利要求1.一种禁止启动项目自启动的方法(100),包括以下步骤获取计算机操作系统的启动项目的信息(SlOl);获取正在运行的启动项目以及已经结束运行的启动项目所占用的系统资源的情况(S103);以及根据启动项目所占用的系统资源的情况,禁止启动项目在计算机操作系统启动时自启动(S105)。2.如权利要求1所述的方法,其中所述系统资源包括中央处理单元资源、输入输出资源、网络流量资源、内存资源。3.如权利要求2所述的方法,其中利用系统接口GetProcessTimes获取正在运行的启动项目所占用的中央处理单元资源的情况。4.如权利要求2所述的方法,其中利用系统接口GetProcessIoCounters获取正在运行的启动项目所占用的输入输出资源的情况。5.如权利要求2所述的方法,其中利用流量监控接口获取正在运行的启动项目所占用的网络流量资源的情况。6.如权利要求2所述的方法,其中利用系统接口GetProcessMemorylnfo获取正在运行的启动项目所占用的内存资源的情况。7.如权利要求2所述的方法,其中利用应用程序编程接口PsSetCreateProcessNotifyRoutine注册进程退出回调事件,在启动项目结束运行时获取其所占用的系统资源的情况。8.如权利要求1-7中的任一项所述的方法,其中在所述根据启动项目所占用的系统资源的情况、禁止启动项目在计算机操作系统启动时自启动(S105)的步骤中,禁止所占用的系统资源超过预先定义的阈值的启动项目在计算机操作系统启动时自启动。9.如权利要求1-7中的任一项所述的方法,其中在所述根据启动项目所占用的系统资源的情况、禁止启动项目在计算机操作系统启动时自启动(S105)的步骤中,通过计算机操作系统以画面和/或声音的方式通知启动项目所占用的系统资源的情况,并且响应于用户的操作禁止启动项目在计算机操作系统启动时自启动。10.如权利要求1-7中的任一项所述的方法,其中所述启动项目包括开始菜单启动项目、注册表启动项目、计划任务启动项目、服务启动项目。11.一种禁止启动项目自启动的装置(200),包括启动项目信息获取器(201),适于获取计算机操作系统的启动项目的信息;系统资源情况获取器(203),适于获取正在运行的启动项目以及已经结束运行的启动项目所占用的系统资源的情况;以及自启动禁止器(205),适于根据启动项目所占用的系统资源的情况,禁止启动项目在计算机操作系统启动时自启动。12.如权利要求11所述的装置,其中所述系统资源包括中央处理单元资源、输入输出资源、网络流量资源、内存资源。13.如权利要求12所述的装置,其中所述系统资源情况获取器(203)利用系统接口GetProcessTimes获取正在运行的启动项目所占用的中央处理单元资源的情况。14.如权利要求12所述的装置,其中所述系统资源情况获取器(203)利用系统接口GetProcessIoCounters获取正在运行的启动项目所占用的输入输出资源的情况。15.如权利要求12所述的装置,其中所述系统资源情况获取器(203)利用流量监控接口获取正在运行的启动项目所占用的网络流量资源的情况。16.如权利要求12所述的装置,其中所述系统资源情况获取器(203)利用系统接口GetProcessMemorylnfo获取正在运行的启动项目所占用的内存资源的情况。17.如权利要求12所述的装置,其中所述系统资源情况获取器(203)利用应用程序编程接口PsSetCreateProcessNotifyRoutine注册进程退出回调事件,在启动项目结束运行时获取其所占用的系统资源的情况。18.如权利要求11-17中的任一项所述的装置,其中所述自启动禁止器(205)禁止所占用的系统资源超过预先定义的阈值的启动项目在计算机操作系统启动时自启动。19.如权利要求11-17中的任一项所述的装置,其中所述自启动禁止器(205)通过计算机操作系统以画面和/或声音的方式通知启动项目所占用的系统资源的情况,并且响应于用户的操作禁止启动项目在计算机操作系统启动时自启动。20.一种加快计算机操作系统启动速度的方法(300),包括以下步骤获取计算机操作系统的启动项目的信息(S301);获取正在运行的启动项目以及已经结束运行的启动项目所占用的系统资源的情况(S303);以及在计算机操作系统启动时,仅允许所占用系统资源不超过预先定义的阈值的启动项目自启动(S305)。全文摘要本发明公开了一种禁止启动项目自启动的方法和装置,其中所述方法包括获取计算机操作系统的启动项目的信息;获取正在运行的启动项目以及已经结束运行的启动项目所占用的系统资源的情况;以及根据启动项目所占用的系统资源的情况,禁止启动项目在计算机操作系统启动时自启动。根据本发明的实施例,只能暂时结束启动项目、启动项目待系统重新启动时会再次自启动的这一问题,就得到了根本的解决,彻底解决了开机速度慢的问题。文档编号G06F9/445GK102999343SQ20121050026公开日2013年3月27日申请日期2012年11月29日优先权日2012年11月29日发明者陈希申请人:北京奇虎科技有限公司,奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1