中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 如何实现在dos下关机 上一主题 | 下一主题
duyilin
初级用户




积分 117
发帖 5
注册 2003-3-16
状态 离线
『楼 主』:  如何实现在dos下关机

现在很多操作系统如windows,linux;它们在自身的软件中都可以编程实现关机。加之现在电脑都已经实现了ACPI的电源規范,在下用C++可以轻松实现WINDOWS的关机。但dos下实在不知道如何实现。望dos高手不吝赐教。
我所知道一些dos可以关机的软件.promaigc
也可以使用win /z,按任意键关机

2003-3-16 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『第 2 楼』:  

本论坛中有人编过这样的程序,具体请见相关帖子。



Wengier - 新DOS时代

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

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

2003-3-16 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
duyilin
初级用户




积分 117
发帖 5
注册 2003-3-16
状态 离线
『第 3 楼』:  

太难找,站长,能给个链接吗

2003-3-17 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
duyilin
初级用户




积分 117
发帖 5
注册 2003-3-16
状态 离线
『第 4 楼』:  

多谢站长,我已经找到关机方法。感谢www.ctyme.com的英文关机文献

2003-3-17 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
蕪迪
初级用户




积分 114
发帖 7
注册 2003-3-18
状态 离线
『第 5 楼』:  

.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


2003-3-18 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
蕪迪
初级用户




积分 114
发帖 7
注册 2003-3-18
状态 离线
『第 6 楼』:  

以上這就可以了呀,加進你的程序里就行了,相關軟件嘛,網上也有的嘛,你你去找了

2003-3-18 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: