如何用MFC实现针对多种Windows系统的计划关机?
第一次在CSDN这个平台上发帖!
我这几天在想怎么用MFC实现一个定时关机的程序。
在程序初始化时我就已经让程序的相应进程活动了SE_SHUTDOWN_NAME特权,这样程序就有关机的特权了
我开始时准备用OnTimer()函数来实现定时关机的,但是有一个问题,如果用户在关机前推出了程序,那么我这样做显然就不能达到目的!
也考虑到用at 11:2:3 shutdown.exe /s之类的做,但是我的Win7系统对这个命令不执行!用 shutdown.exe -s -t 60倒可以实现倒计时关机,但是据资料显示,-t后面的值也有限制的,不能太大。考虑到用户可能希望计算机过很长时间才关机,那么样做肯定是有问题的!其次,考虑到一个极度问题,用户的机器中没有shutdown.exe(被删除),那么用shutdown.exe显然行不通。
用系统的API------ExitWindowsEx(EWX_SHUTDOWN,0)实现关机很好用,可是这样只能立即关机,无法实现计划关机!
总之,我就是想要一个不用调用shutdown.exe之类的Command,还要可以针对多种Windows系统(XP、Win7、Vista、2000、98、Server版本等)的方法,而且计划关机的命令在系统提起退出程序之后仍然有效果!
希望大家多多指教,不胜感激!由于我的积分实在太少了,而且经常要在CSDN上下载学习资料,所以就不给大家奖励分了,请多见谅,技术交流才是重点!