中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-16 11:05
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 如何实现在dos下关机 查看 1,556 回复 5
楼 主 如何实现在dos下关机 发表于 2003-03-16 00:00 ·  中国 浙江 温州 电信
初级用户
积分 117
发帖 5
注册 2003-03-16 00:00
UID 1151
性别 男
状态 离线
现在很多操作系统如windows,linux;它们在自身的软件中都可以编程实现关机。加之现在电脑都已经实现了ACPI的电源規范,在下用C++可以轻松实现WINDOWS的关机。但dos下实在不知道如何实现。望dos高手不吝赐教。
我所知道一些dos可以关机的软件.promaigc
也可以使用win /z,按任意键关机
2 发表于 2003-03-16 00:00 ·  加拿大 安大略省 多伦多
系统支持
★★★★★★
“新DOS时代”站长
积分 27,736
发帖 10,521
注册 2002-10-09 12:00
UID 9
状态 离线
本论坛中有人编过这样的程序,具体请见相关帖子。
Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

3 发表于 2003-03-17 00:00 ·  中国 浙江 温州 电信
初级用户
积分 117
发帖 5
注册 2003-03-16 00:00
UID 1151
性别 男
状态 离线
太难找,站长,能给个链接吗
4 发表于 2003-03-17 00:00 ·  中国 浙江 温州 电信
初级用户
积分 117
发帖 5
注册 2003-03-16 00:00
UID 1151
性别 男
状态 离线
多谢站长,我已经找到关机方法。感谢www.ctyme.com的英文关机文献
5 发表于 2003-03-18 00:00 ·  中国 广东 深圳 龙岗区 电信
初级用户
积分 114
发帖 7
注册 2003-03-18 00:00
UID 1172
性别 男
状态 离线
.Model tiny
.Code
Org 100h
Start:

mov ax,5300h
xor bx,bx
int 15h ; Check APM install
jnb @@1
jmp ExitSys

@@1:
cmp bx,504Dh ; sign
jz @@2
jmp ExitSys

@@2:
cmp ax,101h ; ver 1.1
jnb @@3
jmp ExitSys

@@3:
push cx
mov Version,ax
mov ax,5400h
xor bx,bx
int 2Fh ; power.exe install check?
xor ax,ax
cmp bx,504Dh
jnz @@4
push ax ; power.exe version
mov ax,5401h
mov bx,100h
int 2Fh ; set management enable
pop ax
jb @@4
inc ax
@@4:
pop cx
push ax
push bx
push cx
mov ax,5301h
xor bx,bx
int 15h ; real-mode interface
mov ax,530Eh
xor bx,bx
mov cx,101h
int 15h ; driver version
mov ax,530Fh
mov bx,1
mov cx,bx
int 15h ; engage power management
mov ax,5308h
mov bx,1
mov cx,bx
int 15h ; enable power mamagement
mov ax,5307h
mov bx,1
mov cx,3
int 15h ; power off
pop cx ; support device

test cl,8 ; BIOS power management disable?
jz @@5
push cx
mov ax,5308h
mov bx,1
xor cx,cx
int 15h ; system stand-by
pop cx

@@5:
test cl,10h ; BIOS power disengaged
jz @@6
mov ax,530Fh
mov bx,1
xor cx,cx
int 15h ; disengage power management

@@6:
mov ax,5304h
xor bx,bx
int 15h ; disconnect interface
pop bx
pop ax
test ax,ax
jz ExitSys
mov ax,5401h
mov bl,bh
mov bh,1
int 2Fh ; set APM firmware power manager enable

ExitSys:

mov ax,4c00h
int 21h

Version DW ?

End Start
6 发表于 2003-03-18 00:00 ·  中国 广东 深圳 龙岗区 电信
初级用户
积分 114
发帖 7
注册 2003-03-18 00:00
UID 1172
性别 男
状态 离线
以上這就可以了呀,加進你的程序里就行了,相關軟件嘛,網上也有的嘛,你你去找了
论坛跳转: