[发明专利]一种关机执行任务的方法在审
申请号: | 201810765552.X | 申请日: | 2018-07-12 |
公开(公告)号: | CN108897580A | 公开(公告)日: | 2018-11-27 |
发明(设计)人: | 袁翔 | 申请(专利权)人: | 成都傲梅科技有限公司 |
主分类号: | G06F9/4401 | 分类号: | G06F9/4401 |
代理公司: | 成都嘉企源知识产权代理有限公司 51246 | 代理人: | 胡林 |
地址: | 610000 四川省成都*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 关机 阻塞 服务控制 组策略 脚本 用户使用 时间段 电脑 占用 | ||
本发明公开了一种关机执行任务的方法,其特征在于:所述方法包括服务控制码关机阻塞方法和组策略关机脚本关机阻塞方法,所述服务控制码关机阻塞方法适用于Windows Vista以上版本,所述组策略关机脚本关机阻塞方法适用于Windows Vista以下版本。本发明只有在执行完任务之后系统才会关机,使得用户在不使用电脑的时间段执行繁重的任务,不再占用用户使用电脑的时间。
技术领域
本发明属于计算机领域,具体来说,涉及服务程序相关控制码与组策略相关操作来实现Window Vista以上及以下版本的系统的阻塞关机方法。
背景技术
随着进入互联网时代,人们越来越离不开个人计算机。随着人们热衷于使用电脑,有些如系统更新,系统磁盘备份等需要占用大量计算机资源的操作往往会打扰并占用自己使用电脑的时间。如何在自己不使用电脑的时间段执行繁重任务,能采用的方式一般是在系统关机的时候去执行这类任务了。
系统在关机的时候会向所有的程序发送关机消息,通知并让其关闭。出于防止某些恶意软件阻止用户关机的目的,Windows Vista以上的系统会等待几秒后就会强制结束所有的程序。仅仅只用这几秒的事件是不足够完成那些工作量巨大的任务的。
因此,如何阻塞系统关机并执行自己的任务成了关键。
发明内容
本发明为了实现阻塞系统关机并执行自己的任务的目的,提供了一种关机执行任务的方法,通过该方法,系统只有在执行完任务之后才会关机,使得用户在不使用电脑的时间段执行繁重的任务,不再占用用户使用电脑的时间。
一种关机执行任务的方法,其特征在于:所述方法包括服务控制码关机阻塞方法和组策略关机脚本关机阻塞方法,所述服务控制码关机阻塞方法适用于Windows Vista以上版本,所述组策略关机脚本关机阻塞方法适用于Windows Vista以下版本;
所述服务控制码关机阻塞方法包括如下步骤:
步骤1,用CreateService创建一个服务;
步骤2,通过ChangeServiceConfig2 API设置预关机最大等待时间;
步骤3,设置SERVICE_ACCEPT_PRESHUTDOWN控制码;
步骤4,注册ServiceCtrlHandlerEx;
步骤5,等待关机时服务管理器发来SERVICE_CONTROL_PRESHUTDOWN通知;
执行任务的过程中需要不停的通过SetServiceStaus通知服务管理器任务还在执行中;
所述组策略关机脚本关机阻塞方法包括如下步骤:
步骤Ⅰ,将需要执行的脚本文件路径以及参数写入Scripts.ini中;
步骤Ⅱ,定位关机脚本注册表位置;
步骤Ⅲ,创建关机脚本注册表,并设置参数的名与值;
步骤Ⅳ,将最大等待时间写入Registry.pol;
步骤Ⅴ,定位脚本最大等待时间的注册表位置;
步骤Ⅵ,设置注册表中名为“MaxGPOScriptWait”的值。
步骤4的具体注册方法为:在声明服务控制码通知回调方法ServiceCtrlHandlerEx里,写好SERVICE_CONTROL_PRESHUTDOWN的控制码判断和处理代码,然后拿该控制码通知回调方法通过RegisterServiceCtrlHandlerEx去注册。
步骤Ⅰ中,需要执行的脚本文件路径以及参数按照如下格式通过文件读写的方式Scripts.ini中:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都傲梅科技有限公司,未经成都傲梅科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810765552.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种信息处理方法、电子设备及系统
- 下一篇:一种服务部署方法、装置及电子设备