![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-01 18:55 |
共 48,037 主题排行 / 350,122 发帖 / 今日 2 篇 / 48,249 会员排行 |
| DOS开发编程 & 发展交流 (开发室) » C语言中实现软关机 |
| 可打印版本 1,200 / 3 |
| 第1楼 jhtzz | 发表于 2006-02-11 11:32 |
| 新手上路 发帖 2 积分 8 | |
|
C语言中实现软关机 如题,目前网上有些小程序可以在dos下关机了,或WIN98里面的win/z都可以关机呀
|
|
| 第2楼 JonePeng | 发表于 2006-02-11 15:12 |
| 金牌会员 发帖 1,883 积分 4,562 来自 广东广州 | |
| 第3楼 jhtzz | 发表于 2006-02-23 08:58 |
| 新手上路 发帖 2 积分 8 | |
|
本人解决了 #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(); } |
|
| 第4楼 henrya2 | 发表于 2006-02-25 21:24 |
| 中级用户 发帖 171 积分 486 | |
|
看不懂,能不能提供一些在C语言中使用中断的资料呢?
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |