Board logo

标题: C语言中实现软关机 [打印本页]

作者: jhtzz     时间: 2006-2-11 11:32    标题: C语言中实现软关机
如题,目前网上有些小程序可以在dos下关机了,或WIN98里面的win/z都可以关机呀

作者: JonePeng     时间: 2006-2-11 15:12
作者: jhtzz     时间: 2006-2-23 08:58    标题: 本人解决了
#include "dos.h"
#define Bs 0x8
#define Tab 0x9
#define Esc 27
#define Enter 0xd

void off()
{
union REGS r;
r.x.ax=0x5300;
r.x.bx=0;
int86(0x15,&r,&r);

r.x.ax=0x5308;
r.x.bx=1;
r.x.cx=1;
int86(0x15,&r,&r);

r.x.ax=0x5308;
r.x.bx=0x0ffff;
r.x.cx=1;
int86(0x15,&r,&r);

r.x.ax=0x5301;
r.x.bx=0;
int86(0x15,&r,&r);

r.x.ax=0x530e;
r.x.bx=0;
int86(0x15,&r,&r);

r.x.ax=0x530d;
r.x.bx=1;
r.x.cx=1;
int86(0x15,&r,&r);

r.x.ax=0x530f;
r.x.bx=1;
r.x.cx=1;
int86(0x15,&r,&r);

r.x.ax=0x5307;
r.x.bx=1;
r.x.cx=3;
int86(0x15,&r,&r);

r.x.ax=0x4c00;
int86(0x20,&r,&r);
}

Reboot()
{
typedef void interrupt (*FP) ();
FP Reset;
Reset = (FP) MK_FP(peek(0xffff, 0x0003), peek(0xffff, 0x0001));
Reset();
}

void main()
{
printf("sadfad");
off();
getch();
}

作者: henrya2     时间: 2006-2-25 21:24
看不懂,能不能提供一些在C语言中使用中断的资料呢?