其实程序调用C:\windows\system32\shutdown.exe
文件
Windows XP系统通名Shutdown.exe程序完关机操作(位置Windows\System32)般情况XP关机由关机程序shutdown.exe实现关机候调用shutdown.exe由知要阻止强行关机要取消shutdown.exe调用
shutdown.exe -a 取消关机
shutdown.exe -f 强行关闭应用程序
shutdown.exe -l 注销前用户
shutdown.exe -s -t 间 设置关机倒计
shutdown.exe -c"消息内容" 输入关机框消息内容(能超127字符)
比电脑要23:00关机选择始→运行输入at 23:00 Shutdown -s23点电脑现系统关机框默认30秒钟倒计并提示保存工作想倒计式关机输入Shutdown.exe -s -t 3600表示60钟自关机3600代表60钟
想取消运行输入shutdown -a另外输入shutdown -i则打设置自关机框自关机进行设置
Windows XP关机由Shutdown.exe程序控制位于WindowsSystem32文件夹想让Windows 2000实现同效Shutdown.exe复制系统目录System32
代码:
main()
{
system("shutdown -s -t 3600");
}
----------------------------------------------------------------------------------------------------------------------------
C语言命令:
重启
#include
main()
{
system("shutdown /r");
}
关机
#include
main()
{
system("shutdown /s");
}
XP系统
用shutdown 命令
用: SHUTDOWN [-i | -l | -s | -r | -a] [-f] [-m \\computername] [-t xx] [-c "co
mment"] [-d up:xx:yy]
没参数 显示消息(与 ? 相同)
-i 显示 GUI 界面必须第选项
-l 注销(能与选项 -m 起使用)
-s 关闭计算机
-r 关闭并重启计算机
-a 放弃系统关机
-m \\computername 远程计算机关机/重启/放弃
-t xx 设置关闭超 xx 秒
-c "comment" 关闭注释( 127 字符)
-f 强制运行应用程序关闭没警告
-d [u][p]:xx:yy 关闭原代码
u 用户代码
p 计划关闭代码
xx 主要原代码(于 256 整数)
yy 要原代码(于 65536 整数)
----------------------------------------------------------------------------------------------------------------------------
#include "stdafx.h"
#include
#include
int main()
{
//定义关机候发送给所用户消息
LPSTR msg="Reboot ";
//尝试用简单API函数关机
if(ExitWindowsEx(EWX_REBOOT, 0))return TRUE;
if(ExitWindowsEx(EWX_REBOOT | EWX_FORCE, 0))return TRUE;
//面关机功所需要调整本进程特权
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
if (!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) return FALSE;
//获取关机特权SE_SHUTDOWN_NAME
LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES)NULL, 0);
//判断NT内核9x内核,选择用同式
if(!(GetVersion() & 0x80000000))
InitiateSystemShutdown(NULL, msg, 20, TRUE, TRUE);
else if (!ExitWindowsEx(EWX_POWEROFF, 0))
if(!ExitWindowsEx(EWX_POWEROFF|EWX_FORCE, 0))
return FALSE;
return TRUE;
}
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
我举例给吧..
..
打..倒数60秒关机..
显示"快说猪!关机"..
输入"我猪"..取消关机..
输入"我猪"..取消..
#include"stdio.h"
#include"stdlib.h"
void main()
{
char write[100];
system("shutdown -s -t 60"); //关机命令,60秒数,自设定.
printf("快说猪!关机!\n");
gt:
scanf("%s",write);
if(strcmp(write,"我猪")==0)
{
printf("哈哈,猪~\n");
system("shutdown -a");
}
if(strcmp(write,"我猪")!=0)
{
printf("说吧?说等关机!\n");
goto gt;
}
}