CN115981746A - 基于Windows的任务计划非常规自启动方法、装置及相关介质 - Google Patents
基于Windows的任务计划非常规自启动方法、装置及相关介质 Download PDFInfo
- Publication number
- CN115981746A CN115981746A CN202310013612.3A CN202310013612A CN115981746A CN 115981746 A CN115981746 A CN 115981746A CN 202310013612 A CN202310013612 A CN 202310013612A CN 115981746 A CN115981746 A CN 115981746A
- Authority
- CN
- China
- Prior art keywords
- plan
- task plan
- system task
- self
- windows
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了基于Windows的任务计划非常规自启动方法、装置及相关介质,该方法包括:查找并提取所述系统任务计划;分别构造DLL模块和系统任务计划参数;以及将所述DLL模块注册为COM组件,生成类标识符;将所述系统任务计划参数添加到所述系统任务计划中,并将所述类标识符与所述系统任务计划进行绑定;设置最高权限并利用所述最高权限实现所述系统任务计划的非常规自启动。本发明通过构造所述DLL模块和所述系统任务计划参数,利用所述最高权限实现所述系统任务计划的非常规自启动,如此,避免程序被杀毒软件误杀的情况,同时程序自启动后还能够利用所述最高权限实现程序进程常驻后台。
Description
技术领域
本发明涉及程序自启动技术领域,特别涉及基于Windows的任务计划非常规自启动方法、装置及相关介质。
背景技术
目前在Windows系统中,很多程序都需要在开机时进行自启动并常驻在系统后台,以便于程序能够一直处于运行状态;而现有技术中,Windows系统的程序自启动方式存在局限性,目前Windows系统常用的自启动方式主要有五种:启动目录、注册表启动项、系统配置文件、任务计划以及Windows服务方式启动。在Windows系统中,这五种自启动方式是杀毒软件重点清除的对象,容易受到杀毒软件的误报或者误杀,导致程序无法启动,影响到程序的正常运行。
通常出现程序的误报或者误杀情况,开发者需要到杀毒软件进行反馈,申请将自己开发的程序加入到杀毒软件的白名单中,这个申请过程至少需要1到3周的工作日,这也增加了软件开发公司的时间成本。
发明内容
本发明实施例提供了基于Windows的任务计划非常规自启动方法、装置及相关介质,旨在解决Windows系统中常规的软件自启动方式容易被杀毒软件误杀的问题。
第一方面,本发明实施例提供了一种基于Windows的任务计划非常规自启动方法,包括:
查找系统任务计划,并提取所述系统任务计划,得到系统任务计划数据;其中,所述系统任务计划数据包括系统任务计划目录;
根据所述系统任务计划数据,分别构造DLL模块和系统任务计划参数;以及将所述DLL模块注册为COM组件,生成类标识符;
检测所述系统任务计划目录是否存在;若不存在,则创建新的系统任务计划目录并重新设置触发器;若存在,则不重新设置触发器;其中,所述触发器用于设置所述系统任务计划的属性;
将所述系统任务计划参数添加到所述系统任务计划中,并将所述类标识符与所述系统任务计划进行绑定;
将所述系统任务计划保存到所述系统任务计划目录中,设置最高权限并利用所述最高权限实现所述系统任务计划的非常规自启动。
第二方面,本发明实施例提供了一种基于Windows的任务计划非常规自启动装置,包括:
任务计划获取单元,用于查找系统任务计划,并提取所述系统任务计划,得到系统任务计划数据;其中,所述系统任务计划数据包括系统任务计划目录;
任务计划构造单元,用于根据所述系统任务计划数据,分别构造DLL模块和系统任务计划参数;以及将所述DLL模块注册为COM组件,生成类标识符;
任务计划检测单元,用于检测所述系统任务计划目录是否存在;若不存在,则创建新的系统任务计划目录并重新设置触发器;若存在,则不重新设置触发器;其中,所述触发器用于设置所述系统任务计划的属性;
任务计划绑定单元,用于将所述系统任务计划参数添加到所述系统任务计划中,并将所述类标识符与所述系统任务计划进行绑定;
任务计划启动单元,用于将所述系统任务计划保存到所述系统任务计划目录中,设置最高权限并利用所述最高权限实现所述系统任务计划的非常规自启动。
第三方面,本发明实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述第一方面的基于Windows的任务计划非常规自启动方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其中,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述第一方面的基于Windows的任务计划非常规自启动方法。
本发明实施例提供一种基于Windows的任务计划非常规自启动方法,该方法包括:查找并提取所述系统任务计划;分别构造DLL模块和系统任务计划参数;以及将所述DLL模块注册为COM组件,生成类标识符;将所述系统任务计划参数添加到所述系统任务计划中,并将所述类标识符与所述系统任务计划进行绑定;设置最高权限并利用所述最高权限实现所述系统任务计划的非常规自启动。本发明通过构造所述DLL模块和所述系统任务计划参数,利用所述最高权限实现所述系统任务计划的非常规自启动,如此,避免程序被杀毒软件误杀的情况,同时程序自启动后还能够利用所述最高权限实现程序进程常驻后台。
本发明实施例还提供一种基于Windows的任务计划非常规自启动装置、计算机设备和存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于Windows的任务计划非常规自启动方法的流程示意图;
图2为本发明实施例提供的一种基于Windows的任务计划非常规自启动方法的另一流程示意图;
图3为本发明实施例提供的一种基于Windows的任务计划非常规自启动装置的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
下面请参见图1,图1为本发明实施例提供的一种基于Windows的任务计划非常规自启动方法的流程示意图,具体包括:步骤S101~S105。
S101、查找系统任务计划,并提取所述系统任务计划,得到系统任务计划数据;其中,所述系统任务计划数据包括系统任务计划目录;
S102、根据所述系统任务计划数据,分别构造DLL模块和系统任务计划参数;以及将所述DLL模块注册为COM组件,生成类标识符;
S103、检测所述系统任务计划目录是否存在;若不存在,则创建新的系统任务计划目录并重新设置触发器;若存在,则不重新设置触发器;其中,所述触发器用于设置所述系统任务计划的属性;
S104、将所述系统任务计划参数添加到所述系统任务计划中,并将所述类标识符与所述系统任务计划进行绑定;
S105、将所述系统任务计划保存到所述系统任务计划目录中,设置最高权限并利用所述最高权限实现所述系统任务计划的非常规自启动。
结合图2所示,图2为使用系统任务计划(如“Microsoft\\Windows\\Registry”目录下的"RegIdleBackup”,这是注册表空闲备份的系统任务计划)实现程序自启动和进程后台常驻的另一流程示意图。
在步骤S101中,首先遍历查找对应系统“Microsoft\\Windows"目录下的所述系统任务计划,选择待操作的所述系统任务计划(一般选择触发启动较频繁一点的系统任务计划,防止系统任务计划长时间不能及时启动,如选择“Microsoft\\Windows\\Registry”目录下的"RegIdleBackup”),选择完成后对所述系统任务计划进行提取,得到所述系统任务计划数据。其中,所述系统任务计划数据包括了所述系统任务计划目录(一般在“Microsoft\\Windows”目录下)。
在一实施例中,所述系统任务计划数据还包括:系统任务计划名称、触发启动频率、操作属性、条件属性。
在本实施例中,所述触发启动频率可以理解为触发启动间隔,所述操作属性为所述系统任务计划中的操作步骤设置,所述条件属性为所述系统任务计划中设置达到一定条件从而触发下一步骤;对所述系统任务计划进行提取,得到所述系统任务计划数据,并进行保存为后续步骤做准备。
在步骤S102中,得到所述系统任务计划数据后,根据所述系统任务计划数据,分别构造一个支持COM组件的所述DLL模块以及所述系统任务计划参数,构造完成后将所述DLL模块注册为COM组件,生成类标识符(即CLSID,下同)。
具体的,classidentifier(类标识符)也称为CLASSID或CLSID,是与某一个类对象相联系的唯一标记(UUID);一个准备创建多个对象的类对象应将其CLSID注册到系统注册数据库的任务表中,以使系统能够定位并装载与该对象有关的可执行代码。
在一实施例中,所述步骤S102,包括:
分别导出DllGetClassObject函数、DllCanUnloadNow函数、DllRegisterServer函数和DllUnregisterServer函数;分别构造所述系统任务计划的目录位置和所述系统任务计划的名称;构造所述DLL模块存放的全路径。
在本实施例中,所述DllGetClassObject函数主要从所述DLL模块处理程序或者在对象应用程序中检索类对象;所述DllGetClassObject函数用于获得类工厂指针,而支持COM组件的所述DLL模块必须在所述DLL模块应用程序中实现所述DllGetClassObject函数。可以在所述DllGetClassObject函数中实现对应的自定义逻辑,如不退出所述DllGetClassObject函数,即可实现加载模块的dllhost.exe进程后台常驻。
所述DllCanUnloadNow函数在系统空闲时会被调用,以确定是否可以退出COM组件,可以自定义所述DllCanUnloadNow函数的返回值来控制COM组件的退出。
所述DllRegisterServer函数将所述DLL模块注册为COM组件的响应函数,一般所添加的注册表会响应“Regsvr32”命令。
所述DllUnregisterServer函数是将COM组件卸载的响应函数,可以删除注册表中COM组件的注册信息,可以响应“Regsvr32/u”命令,以进行COM组件的卸载。
另外的,构造所述系统任务计划的目录位置可以表示为“Microsoft\\Windows\\***”,举个例子,如“Microsoft\\Windows\\Registry”目录;构造所述系统任务计划的名称,如"RegIdleBackup”,最后构造所述DLL模块在系统中的存放全路径,以方便查找。
在一实施例中,所述步骤S102,还包括:
根据所述全路径利用Regsvr32命令将所述DLL模块注册为所述COM组件;根据所述COM组件获取生成的所述类标识符。
在本实施例中,使用“Regsvr32”命令和DLL全路径,在系统中将所述DLL模块注册为COM组件,并获取到相应的所述类标识符,最后将所述类标识符进行保存在系统中。具体的,所述Regsvr32命令用于注册COM组件,是Windows系统提供的用来向系统注册控件或者卸载控件的命令,以命令行方式运行。WinXP及以上系统的regsvr32.exe在Windows\system32文件夹下;2000系统的regsvr32.exe在winnt\system32文件夹下。
在步骤S103中,检测所述系统任务计划目录是否存在;若“Microsoft\\Windows\\***”目录不存在(如“Microsoft\\Windows\\Registry”目录),则创建新的系统任务计划目录并重新设置触发器;若存在所述系统任务计划目录,则不重新设置触发器;其中,所述触发器用于设置所述系统任务计划的属性。
在一实施例中,所述步骤S103,包括:
分别设置所述新的系统任务计划目录启动、创建或修改的时间、重复任务间隔、延迟任务时间和持续时间。
在本实施例中,根据实际情况来设置对应的属性,可以设置所述新的系统任务计划目录启动的时间、重复任务间隔、延迟任务时间和持续时间;可以设置所述新的系统任务计划目录创建的时间、重复任务间隔、延迟任务时间和持续时间;也可以设置所述新的系统任务计划目录修改的时间、重复任务间隔、延迟任务时间和持续时间。
在步骤S104中,将所述类标识符与所述系统任务计划进行绑定后,也同所述系统任务计划参数一起添加到所述系统任务计划中,所述类标识符绑定成功后才能进行下一步操作,即实现进程后台常驻。
在一实施例中,所述步骤S104,包括:
调用ITaskDefinition结构中的get_Actions函数,以获取IActionCollection结构;调用所述IActionCollection结构中的get_Count函数,以获取所述系统任务计划的活动数量;根据所述系统任务计划的活动数量遍历所述IActionCollection结构中的IAction结构,并调用所述IActionCollection结构中的get_Item函数,以获取所述IAction结构;判断所述IAction结构是否存在所述类标识符;若不存在,则将所述类标识符与所述系统任务计划进行绑定;若存在,则直接返回成功。
进一步的,通过所述IAction结构中的QueryInterface函数获取IComHandlerAction结构;调用所述IActionCollection结构中的Create函数指定所述IAction结构,以创建新的IAction结构;调用所述新的IAction结构中的QueryInterface函数,以绑定所述IComHandlerAction结构;调用所述IComHandlerAction结构中的put_ClassId函数来指定所述类标识符。
在本实施例中,首先,调用ITaskDefinition结构中的get_Actions函数,以获取IActionCollection结构,即获取当前系统任务计划的所有action集合(即所述活动数量,下同)。然后,调用所述IActionCollection结构中的get_Count函数,可以获取到获取到当前所述系统任务计划的所述action集合。再然后,根据所述系统任务计划的活动数量遍历所述IActionCollection结构中的IAction结构,并调用所述IActionCollection结构中的get_Item函数,以获取所述IAction结构,这里的所述IAction结构有多个,具体由实际使用情况而定,这里不作限定。最后,判断所述IAction结构是否存在所述类标识符;若不存在,则将所述类标识符与所述系统任务计划进行绑定;若存在,则直接返回成功。
进一步的,先通过所述IAction结构中的QueryInterface函数获取IComHandlerAction结构,即所述IAction结构操作响应结构;再调用所述IActionCollection结构中的Create函数指定明确的待执行的所述IAction结构来创建一个新的IAction结构;调用所述新的IAction结构中的QueryInterface函数,以绑定所述IComHandlerAction结构;最后,调用所述IComHandlerAction结构中的put_ClassId函数来指定所述DLL模块注册生成COM组件时附带生成的所述类标识符,即可完成绑定。
在步骤S105中,将所述系统任务计划保存到所述系统任务计划目录中并设置最高权限(即“SYSTEM”权限,下同),通过ITaskFolder下的RegisterTaskDefinition方法进行保存,并指定TASK_CREATE_OR_UPDATE类型和所述“SYSTEM”权限。
另外的,待所述系统任务计划启动时,系统会创建所述“SYSTEM”权限的dllhost.exe进程,调用待执行的所述DLL模块中的所述DllGetClassObject函数,在所述DllGetClassObject函数中可以自行定义程序需要执行的代码、逻辑。在所述DllGetClassObject函数中不返回退出,即可实现所述“SYSTEM”权限的dllhost.exe进程后台常驻。
综上所述,在修改后的所述系统任务计划自启动时会加载自定义的所述DLL模块并调用其中的函数,并且拥有Windows系统的所述“SYSTEM”权限。所述“SYSTEM”权限能进行普通权限无法进行的工作,而且依赖于所述系统任务计划,所以稳定性较好。同时,启动方式区别于常规的自启动方式,能够有效的减少杀毒软件的误杀或误报;在所述DLL模块中的函数被调用时如果不进行退出,也能够实现程序进程后台常驻,可以应用在大部分场景中。另外,所述系统任务计划可以根据实际情况设置失败后重启、定时重启的功能,且自带Windows系统的容错机制。
结合图3所示,图3为本发明实施例提供的一种基于Windows的任务计划非常规自启动装置的示意性框图,基于Windows的任务计划非常规自启动装置300包括:
任务计划获取单元301,用于查找系统任务计划,并提取所述系统任务计划,得到系统任务计划数据;其中,所述系统任务计划数据包括系统任务计划目录;
任务计划构造单元302,用于根据所述系统任务计划数据,分别构造DLL模块和系统任务计划参数;以及将所述DLL模块注册为COM组件,生成类标识符;
任务计划检测单元303,用于检测所述系统任务计划目录是否存在;若不存在,则创建新的系统任务计划目录并重新设置触发器;若存在,则不重新设置触发器;其中,所述触发器用于设置所述系统任务计划的属性;
任务计划绑定单元304,用于将所述系统任务计划参数添加到所述系统任务计划中,并将所述类标识符与所述系统任务计划进行绑定;
任务计划启动单元305,用于将所述系统任务计划保存到所述系统任务计划目录中,设置最高权限并利用所述最高权限实现所述系统任务计划的非常规自启动。
在本实施例中,首先,任务计划获取单元301查找系统任务计划,并提取所述系统任务计划,得到系统任务计划数据;其中,所述系统任务计划数据包括系统任务计划目录;任务计划构造单元302则根据所述系统任务计划数据,分别构造DLL模块和系统任务计划参数;以及将所述DLL模块注册为COM组件,生成类标识符;然后,任务计划检测单元303检测所述系统任务计划目录是否存在;若不存在,则创建新的系统任务计划目录并重新设置触发器;若存在,则不重新设置触发器;其中,所述触发器用于设置所述系统任务计划的属性;任务计划绑定单元304将所述系统任务计划参数添加到所述系统任务计划中,并将所述类标识符与所述系统任务计划进行绑定;最后,任务计划启动单元305将所述系统任务计划保存到所述系统任务计划目录中,设置最高权限并利用所述最高权限实现所述系统任务计划的非常规自启动。
在一实施例中,所述系统任务计划数据还包括:系统任务计划名称、触发启动频率、操作属性、条件属性。
在一实施例中,所述任务计划构造单元,包括:
导出单元,用于分别导出DllGetClassObject函数、DllCanUnloadNow函数、DllRegisterServer函数和DllUnregisterServer函数;
构造单元,用于分别构造所述系统任务计划的目录位置和所述系统任务计划的名称;
路劲单元,用于构造所述DLL模块存放的全路径。
在一实施例中,所述任务计划构造单元,还包括:
注册单元,用于根据所述全路径利用Regsvr32命令将所述DLL模块注册为所述COM组件;
生成单元,用于根据所述COM组件获取生成的所述类标识符。
在一实施例中,所述任务计划检测单元,包括:
设置单元,用于分别设置所述新的系统任务计划目录启动、创建或修改的时间、重复任务间隔、延迟任务时间和持续时间。
在一实施例中,所述任务计划绑定单元,包括:
获取单元,用于调用ITaskDefinition结构中的get_Actions函数,以获取IActionCollection结构;
调用单元,用于调用所述IActionCollection结构中的get_Count函数,以获取所述系统任务计划的活动数量;
遍历单元,用于根据所述系统任务计划的活动数量遍历所述IActionCollection结构中的IAction结构,并调用所述IActionCollection结构中的get_Item函数,以获取所述IAction结构;
判断单元,用于判断所述IAction结构是否存在所述类标识符;若不存在,则将所述类标识符与所述系统任务计划进行绑定;若存在,则直接返回成功。
在一实施例中,所述任务计划绑定单元,还包括:
启动单元,用于通过所述IAction结构中的QueryInterface函数获取IComHandlerAction结构;
指定单元,用于调用所述IActionCollection结构中的Create函数指定所述IAction结构,以创建新的IAction结构;
绑定单元,用于调用所述新的IAction结构中的QueryInterface函数,以绑定所述IComHandlerAction结构;
输出单元,用于调用所述IComHandlerAction结构中的put_ClassId函数来指定所述类标识符。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本发明实施例还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供了一种计算机设备,可以包括存储器和处理器,存储器中存有计算机程序,处理器调用存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然计算机设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种基于Windows的系统任务计划非常规自启动方法,其特征在于,包括:
查找系统任务计划,并提取所述系统任务计划,得到系统任务计划数据;其中,所述系统任务计划数据包括系统任务计划目录;
根据所述系统任务计划数据,分别构造DLL模块和系统任务计划参数;以及将所述DLL模块注册为COM组件,生成类标识符;
检测所述系统任务计划目录是否存在;若不存在,则创建新的系统任务计划目录并重新设置触发器;若存在,则不重新设置触发器;其中,所述触发器用于设置所述系统任务计划的属性;
将所述系统任务计划参数添加到所述系统任务计划中,并将所述类标识符与所述系统任务计划进行绑定;
将所述系统任务计划保存到所述系统任务计划目录中,设置最高权限并利用所述最高权限实现所述系统任务计划的非常规自启动。
2.根据权利要求1所述的基于Windows的系统任务计划非常规自启动方法,其特征在于,所述系统任务计划数据还包括:系统任务计划名称、触发启动频率、操作属性、条件属性。
3.根据权利要求1所述的基于Windows的系统任务计划非常规自启动方法,其特征在于,所述根据所述系统任务计划数据,分别构造DLL模块和系统任务计划参数,包括:
分别导出DllGetClassObject函数、DllCanUnloadNow函数、DllRegisterServer函数和DllUnregisterServer函数;
分别构造所述系统任务计划的目录位置和所述系统任务计划的名称;
构造所述DLL模块存放的全路径。
4.根据权利要求3所述的基于Windows的系统任务计划非常规自启动方法,其特征在于,所述将所述DLL模块注册为COM组件,生成类标识符,包括:
根据所述全路径利用Regsvr32命令将所述DLL模块注册为所述COM组件;
根据所述COM组件获取生成的所述类标识符。
5.根据权利要求1所述的基于Windows的系统任务计划非常规自启动方法,其特征在于,所述创建新的系统任务计划目录并重新设置触发器,包括:
分别设置所述新的系统任务计划目录启动、创建或修改的时间、重复任务间隔、延迟任务时间和持续时间。
6.根据权利要求1所述的基于Windows的系统任务计划非常规自启动方法,其特征在于,所述将所述系统任务计划参数添加到所述系统任务计划中,并将所述类标识符与所述系统任务计划进行绑定,包括:
调用ITaskDefinition结构中的get_Actions函数,以获取IActionCollection结构;
调用所述IActionCollection结构中的get_Count函数,以获取所述系统任务计划的活动数量;
根据所述系统任务计划的活动数量遍历所述IActionCollection结构中的IAction结构,并调用所述IActionCollection结构中的get_Item函数,以获取所述IAction结构;
判断所述IAction结构是否存在所述类标识符;若不存在,则将所述类标识符与所述系统任务计划进行绑定;若存在,则直接返回成功。
7.根据权利要求6所述的基于Windows的系统任务计划非常规自启动方法,其特征在于,所述将所述系统任务计划参数添加到所述系统任务计划中,并将所述类标识符与所述系统任务计划进行绑定,还包括:
通过所述IAction结构中的QueryInterface函数获取IComHandlerAction结构;
调用所述IActionCollection结构中的Create函数指定所述IAction结构,以创建新的IAction结构;
调用所述新的IAction结构中的QueryInterface函数,以绑定所述IComHandlerAction结构;
调用所述IComHandlerAction结构中的put_ClassId函数来指定所述类标识符。
8.一种基于Windows的系统任务计划非常规自启动装置,其特征在于,包括:
任务计划获取单元,用于查找系统任务计划,并提取所述系统任务计划,得到系统任务计划数据;其中,所述系统任务计划数据包括系统任务计划目录;
任务计划构造单元,用于根据所述系统任务计划数据,分别构造DLL模块和系统任务计划参数;以及将所述DLL模块注册为COM组件,生成类标识符;
任务计划检测单元,用于检测所述系统任务计划目录是否存在;若不存在,则创建新的系统任务计划目录并重新设置触发器;若存在,则不重新设置触发器;其中,所述触发器用于设置所述系统任务计划的属性;
任务计划绑定单元,用于将所述系统任务计划参数添加到所述系统任务计划中,并将所述类标识符与所述系统任务计划进行绑定;
任务计划启动单元,用于将所述系统任务计划保存到所述系统任务计划目录中,设置最高权限并利用所述最高权限实现所述系统任务计划的非常规自启动。
9.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的基于Windows的系统任务计划非常规自启动方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的基于Windows的系统任务计划非常规自启动方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310013612.3A CN115981746A (zh) | 2023-01-05 | 2023-01-05 | 基于Windows的任务计划非常规自启动方法、装置及相关介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310013612.3A CN115981746A (zh) | 2023-01-05 | 2023-01-05 | 基于Windows的任务计划非常规自启动方法、装置及相关介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115981746A true CN115981746A (zh) | 2023-04-18 |
Family
ID=85962839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310013612.3A Pending CN115981746A (zh) | 2023-01-05 | 2023-01-05 | 基于Windows的任务计划非常规自启动方法、装置及相关介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115981746A (zh) |
-
2023
- 2023-01-05 CN CN202310013612.3A patent/CN115981746A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6618857B1 (en) | Method and system for installing software on a computer system | |
US5911060A (en) | Computer method and apparatus for unfreezing an apparently frozen application program being executed under control of an operating system | |
US20020095526A1 (en) | System and method for installing device drivers in a computer system | |
CN111324423B (zh) | 容器内进程的监控方法、装置、存储介质和计算机设备 | |
CN113760476B (zh) | 任务依赖处理方法及相关装置 | |
CN113190371B (zh) | 一种任务补偿方法、装置、电子设备及可读存储介质 | |
US6205561B1 (en) | Tracking and managing failure-susceptible operations in a computer system | |
CN111240892A (zh) | 数据备份方法及装置 | |
CN113805962A (zh) | 应用页面的显示方法、装置以及电子设备 | |
CN112783568A (zh) | 应用程序的初始化方法、装置、设备和存储介质 | |
CN110716943A (zh) | 缺失数据补录方法、装置、计算机设备及存储介质 | |
CN106897063B (zh) | 一种基于efi将os启动项永久添加至bios中的方法及系统 | |
CN115981746A (zh) | 基于Windows的任务计划非常规自启动方法、装置及相关介质 | |
CN115757172A (zh) | 测试执行方法、装置、存储介质及计算机设备 | |
CN110688206A (zh) | 定时任务调度方法、装置、计算机设备及存储介质 | |
CN115309421A (zh) | 单点系统的静态变量同步方法、装置、设备及存储介质 | |
CN115098157A (zh) | 一种公共业务数据的处理方法及装置 | |
CN114564466A (zh) | 一种管理数据库的数据库管理系统、方法 | |
CN116263717A (zh) | 基于事件的订单业务处理方法及装置 | |
CN106161050B (zh) | 问题资源指示装置及问题资源指示方法 | |
CN112988277A (zh) | 规则文件加载方法、装置、服务器及介质 | |
US7275132B2 (en) | Computing machine with hard stop-tolerant disk file management system | |
CN115964061A (zh) | 插件更新方法、装置、电子设备和计算机可读存储介质 | |
CN112596783A (zh) | 代码自动合并方法、装置、计算机设备和存储介质 | |
CN112579156A (zh) | 一种业务事件的处理系统以及处理方法、装置和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |