发布网友
共2个回答
热心网友
void main()
{
printf("立即这台关闭计算机");
}
功能实现:
#include <stdlib.h>
void main ()
{
system("shutdown -p"); //执行DOS命令
}
还有,调试的时候自己注意点。真的会关机的,而且是立即。
所以给你提供另外一个调试方法,
将shutdown -p改为shutdown -s
这样会在60秒后关机,且不可取消。
在60秒内开始-->运行-->输入shutdown -a
就可以取消计划关机任务。
热心网友
以下为关机代码。至于要显示什么给用户看,加个dialog提示,或MessageBox就可以。
HANDLE hToken = NULL;
TOKEN_PRIVILEGES tpNew ;
//获取权限
OpenProcessToken (GetCurrentProcess(), TOKEN_ALL_ACCESS, &hToken);
LookupPrivilegeValue (NULL, SE_SHUTDOWN_NAME, &tpNew.Privileges[0].Luid);
// 设置权限
tpNew.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
tpNew.PrivilegeCount = 1;
AdjustTokenPrivileges (hToken, FALSE, &tpNew, 0, NULL, NULL);
// 执行关机
ExitWindowsEx (EWX_POWEROFF,EWX_FORCE);