当前位置: 代码迷 >> Windows2000 >> DOS菜单之子菜单建立解决办法
  详细解决方案

DOS菜单之子菜单建立解决办法

热度:2733   发布时间:2013-02-26 00:00:00.0
DOS菜单之子菜单建立
请问如何建立像一键Ghost、DOS工具箱、MaxDos 之类的DOS多层菜单呢?在网上找到一层的。如果要建多层呢?

链接:http://hi.baidu.com/dream0xdl/blog/item/66ca40e7dc7c5f2eb93820b0

原文:

DOS菜单式多重任务选择配置2006年12月13日 星期三 下午 06:27 由于软件的增多,而不同软件所需的系统配置并不相同,致使我们需要经常改变配置,如果每次都改写config.sys是相当麻烦的,于是DOS设计了菜单式多重任务选择的配置,就方便多了,比如有些游戏无需扩展内存,有些又必须有扩展内存,有些汉字系统还必须设置虚拟盘等,采用多重设置将是一劳永逸的事。  
  例:两种设置 

[menu] 

menuitem=nomal ,nomal configuration          设置第一种配置 

menuitem=myself ,configuration for myself       设置第二种配置 

menudefault=nomal,5           设置默认的配置和自动选择的时间 

menucolor=15,1                     设置菜单的颜色 

[nomal]     此处为第一种配置, [ ]中的内容需与menuitem后的字符相同 

files=30 

buffers=30 

device=c:\dos\hime.sys 

device=c:\dos\emm386.exe ram 

lastdrive=z 

[myself]                        此处为第二种配置 

files=35 

buffers=20 

device=c:\dos\hime.sys 

device=c:\dos\emm386.exe noems 

[common]         []中为common则表示此处为各种配置都使用到的配置项 

dos=high,umb 

  

其中[menu]区中为菜单的设计: 

menuitem 表示设置对应的配置区,可以有多个配置区,逗号后是菜单上显示的内容。 

menudefault 设置默认的菜单选项,逗号后是自动选择的时间。 

menucolor 设置菜单颜色,逗号前为文字色,后为背景色。 

  这样在电脑起动时,就会有菜单显示以供用户选择了。 

  

  对应的,在autoexec.bat中也可以进行多任务选择,比如: 

@ECHO OFF 

PROMPT $p$g 

set blaster=a220 i5 d1                此处为公用设置区 

set temp=c:\dos\temp 

goto %config%                    转至标号%config%   
            其中%config%的值是由选择某一菜单项时自动确定的 

:nomal   此处为对应的第一个设置,:后的字符需与config.sys中的配置区名相同 

LH /L:0;1,45456 /S C:\DOS\SMARTDRV.EXE 

PATH C:\WINDOWS;C:\DOS;C:\UCDOS;c:\tools;c:\tools\vpic 

lh c:\mouse\amouse.com 

goto end 

:myself                     此处为对应的第二个设置 

PATH C:\DOS;c:\tools 

lh c:\mouse\amouse.com 

goto end 

:end 
 


------解决方案--------------------------------------------------------
路过,学习一下。。。
等待高人解答。。。
------解决方案--------------------------------------------------------
探讨
路过,学习一下。。。
等待高人解答。。。

------解决方案--------------------------------------------------------
我不是顺便,我是纯蹭分
------解决方案--------------------------------------------------------
那就多层menuitem
可以去找个98启动盘来看menu怎么设计的
------解决方案--------------------------------------------------------
http://bbs.cqzg.cn/redirect.php?fid=26&tid=290277&goto=nextnewset
------解决方案--------------------------------------------------------
路过,学习了
------解决方案--------------------------------------------------------
DOS都快从我的记忆消失了,很少用这玩意。
------解决方案--------------------------------------------------------
学习
------解决方案--------------------------------------------------------
http://www.baidu.com/baidu?tn=GreenBrowser&word=wbat%BD%CC%B3%CC
------解决方案--------------------------------------------------------
其实多重菜单也就这么多东西,这仅仅是最原生态的解决办法(其实还有别的更多办法)。

Config.sys注释

HTML code
[Menu]SubMenu=WIN,Microsoft Windows 3.2 '子菜单,指向WIN块,标题:Microsoft Windows 3.2SubMenu=DOS,Command prompt        '子菜单,指向DOS块,标题:Microsoft Windows 3.2MenuItem=EXT,Exit Config          '菜单项,指向EXT块。Menudefault=WIN                   '默认菜单,指向WIN块(就是默认选择在第一项)。MenuColor=15,1                    '背景色,前景亮白、背景深蓝。(颜色表可以去查DOS颜色表)[WIN] 'WIN块(名字可以自定)MenuItem=W01,Exit and start Windows '菜单项,指向W01块。MenuItem=W02,Exit to prompt         '菜单项,指向W02块。SubMenu=Menu,Back to main menu      '子菜单,指向Menu块(退回最上级)Menudefault=Menu                    '默认菜单,指向Menu块(默认选择在第三项)。MenuColor=15,1[DOS] 'DOS块(名字可以自定)MenuItem=D01,Command prompt High UMBMenuItem=D02,Command prompt High UMB & EMSMenuItem=D03,Command prompt High onlySubMenu=Menu,Back to main menuMenudefault=MenuMenuColor=15,1[Module_UMB] 'Module_UMB模块(名字是任意取的)Device=C:\WINDOWS\HIMEM.SYS /ShadowRam:OFF /TestMem:OFFDevice=C:\WINDOWS\EMM386.EXE X=B800-BFFF I=C800-DFFF NoEMSDOS=High,UMBFiles=65Buffers=10,0Stacks=9,256[Module_EMS] 'Module_EMS模块Device=C:\WINDOWS\HIMEM.SYS /ShadowRam:OFF /TestMem:OFFDevice=C:\WINDOWS\EMM386.EXE RAMDOS=High,UMBFiles=65Buffers=10,0Stacks=9,256[Module_XMS] 'Module_XMS模块Device=C:\WINDOWS\HIMEM.SYS /ShadowRam:OFF /TestMem:OFFDOS=HighFiles=65Buffers=10,0Stacks=9,256[W01]Include=Module_XMS '调用Module_XMS模块Device=C:\WINDOWS\SMARTDRV.EXE /Double_BufferDevice=C:\CDROM\OAKCDROM.SYS /D:MSCD01[W02]Include=Module_XMS '调用Module_XMS模块Device=C:\WINDOWS\SMARTDRV.EXE /Double_BufferDevice=C:\CDROM\OAKCDROM.SYS /D:MSCD01[D01]Include=Module_UMB '调用Module_UMB模块DeviceHigh=C:\CDROM\OAKCDROM.SYS /D:MSCD01[D02]Include=Module_EMS '调用Module_EMS模块DeviceHigh=C:\CDROM\OAKCDROM.SYS /D:MSCD01[D03]Include=Module_XMS '调用Module_XMS模块Device=C:\CDROM\OAKCDROM.SYS /D:MSCD01[EXT]
  相关解决方案