========= for Dos =======================
#include<stdio.h>
#include<dos.h>
void main( void )
{
union REGS In,Out
In.x.ax = 0x5300/*检查是否支持APM*/
In.x.bx = 0x0000
int86(0x15,&In,&Out)
if( Out.x.cflag != 0)
{
printf("No APM!\n")
exit(0)
}
In.x.ax = 0x5301/*连接到APM*/
In.x.bx = 0x0000
int86(0x15,&In,&Out)
if( (Out.x.cflag!=0) &&(Out.h.ah!=0x02))
{
printf("Connecting error!\n")
exit(0)
}
In.x.ax = 0x530e/*通知APM所使用的版本为1.2*/
In.x.cx = 0x0102
int86(0x15,&In,&Out)
if( (Out.x.cflag != 0)
{
printf("Ver error!\n")
exit(0)
}
In.x.ax = 0x5307/*实现关机*/
In.x.bx = 0x0001
In.x.cx = 0x0003
int86(0x15,&In,&Out)
if( (Out.x.cflag != 0)
{
printf("Shutdown error!\n")
exit(0)
}
}
如果是win请查相关api
如果是linux/unix还必须有root权限
1、C语言可以通过system函数实现调用系统命令(shell 命令)。
system函数声明于stdlib.h, 形式为
int system(const char *cmd)
功能为执行cmd中的shell指令。
2、在windows中,关机命令为shutdown. 具体说明如图:
更多信息,可以命令行下输入shutdown /?查看。
3、从命令说明上可以得知,shutdown /s 即可实现关机效果。
4、参考代码:
#include <stdlib.h>int main()
{
system("shutdown /s")//调用关机命令。
while(1)
}
5、注意事项:
该命令仅用于windows,如果要移植到其它 *** 作系统,则需要适配目标系统的关机命令,如Linux的halt或shutdown -h。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)