如何用MFC实现针对多种Windows系统的计划关机?

wangyunfei12345 2010-12-11 12:23:53
第一次在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上下载学习资料,所以就不给大家奖励分了,请多见谅,技术交流才是重点!
...全文
54 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangyunfei12345 2010-12-16
  • 打赏
  • 举报
回复
唉,居然没人回答,怎么回事呢?

1,649

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧