【技术实现步骤摘要】
一种关机执行任务的方法
本专利技术属于计算机领域,具体来说,涉及服务程序相关控制码与组策略相关操作来实现WindowVista以上及以下版本的系统的阻塞关机方法。
技术介绍
随着进入互联网时代,人们越来越离不开个人计算机。随着人们热衷于使用电脑,有些如系统更新,系统磁盘备份等需要占用大量计算机资源的操作往往会打扰并占用自己使用电脑的时间。如何在自己不使用电脑的时间段执行繁重任务,能采用的方式一般是在系统关机的时候去执行这类任务了。系统在关机的时候会向所有的程序发送关机消息,通知并让其关闭。出于防止某些恶意软件阻止用户关机的目的,WindowsVista以上的系统会等待几秒后就会强制结束所有的程序。仅仅只用这几秒的事件是不足够完成那些工作量巨大的任务的。因此,如何阻塞系统关机并执行自己的任务成了关键。
技术实现思路
本专利技术为了实现阻塞系统关机并执行自己的任务的目的,提供了一种关机执行任务的方法,通过该方法,系统只有在执行完任务之后才会关机,使得用户在不使用电脑的时间段执行繁重的任务,不再占用用户使用电脑的时间。一种关机执行任务的方法,其特征在于:所述方法包括服务控制 ...
【技术保护点】
1.一种关机执行任务的方法,其特征在于:所述方法包括服务控制码关机阻塞方法和组策略关机脚本关机阻塞方法,所述服务控制码关机阻塞方法适用于Windows Vista以上版本,所述组策略关机脚本关机阻塞方法适用于Windows Vista以下版本;所述服务控制码关机阻塞方法包括如下步骤:步骤1,用CreateService创建一个服务;步骤2,通过ChangeServiceConfig2 API设置预关机最大等待时间;步骤3,设置SERVICE_ACCEPT_PRESHUTDOWN控制码;步骤4,注册ServiceCtrlHandlerEx;步骤5,等待关机时服务管理器发来SE ...
【技术特征摘要】
1.一种关机执行任务的方法,其特征在于:所述方法包括服务控制码关机阻塞方法和组策略关机脚本关机阻塞方法,所述服务控制码关机阻塞方法适用于WindowsVista以上版本,所述组策略关机脚本关机阻塞方法适用于WindowsVista以下版本;所述服务控制码关机阻塞方法包括如下步骤:步骤1,用CreateService创建一个服务;步骤2,通过ChangeServiceConfig2API设置预关机最大等待时间;步骤3,设置SERVICE_ACCEPT_PRESHUTDOWN控制码;步骤4,注册ServiceCtrlHandlerEx;步骤5,等待关机时服务管理器发来SERVICE_CONTROL_PRESHUTDOWN通知;执行任务的过程中需要不停的通过SetServiceStaus通知服务管理器任务还在执行中;所述组策略关机脚本关机阻塞方法包括如下步骤:步骤Ⅰ,将需要执行的脚本文件路径以及参数写入文件Scripts.ini中;步骤Ⅱ,定位关机脚本注册表位置;步骤Ⅲ,创建关机脚本注册表,并设置参数的名与值;步骤Ⅳ,将最大等待时间写入文件Registry.pol;步骤Ⅴ,定位脚本最大等待时间的注册表位置;步骤Ⅵ,设置注册表中名为“MaxGPOScriptWait”的值。2.根据权利要求1所述的一种关机执行任务的方法,其特征在于:步骤4的具体注册方法为:在声明服务控制码通知回调方法ServiceCtrlHandlerEx里,写好SERVICE_CONTROL_PRESHUTDOWN的控制码判断和处理代码,然后拿该控制码通知回调方法通过RegisterServiceCtrlHandlerEx去注册。3.根据权利要求1所述的一种关机执行任务的方法,其特征在于:步骤5中,在接收到了服务管理器发来的SERVICE_CONTROL_PRESHUTDOWN通知后,还需要不停的通过SetServiceStaus通知服务管理器任务还...
【专利技术属性】
技术研发人员:袁翔,
申请(专利权)人:成都傲梅科技有限公司,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。