中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-06 00:53
48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行
DOS汉化世界 & 中文系统 (中文化室) » 在config.sys中使用的逐级执行式菜单编辑器 ConMenu.sys V2.12
可打印版本  90,023 / 270
第1楼 yaya 发表于 2006-01-15 17:49
银牌会员 发帖 353 积分 1,009
在config.sys中使用的逐级执行式菜单编辑器 ConMenu.sys V2.12
在config.sys中使用的菜单编辑器有BootCon.sys和Boot.sys。他们的功能强大,但体积也大。
本人编制的菜单编辑器 ConMenu.sys 只有1.78K。
功能:
12行标题和4行尾注;
rem caption=
rem endnote=
16项可显示菜单(A,B,C...P);
rem cm0=

A
标号必须按A,B,C...排列
9项隐含菜单(1,2,3...9);
rem cm0=(1
...
rem cm0=)1
标号必须按1,2,3...排列
=]及=)后的字母数字不是必须的,只为了自我辨识
可显示菜单与隐含菜单在顺序上可混合编排;
即A,B,1,C,2...
颜色属性(背景前景色,被选菜单项显示方式),如不输入,缺省07,F;
背景前景色(00...FF)(背景闪烁位改为高亮)
被选菜单项显示方式(f反色,g高亮)
例:=07,g =07 =,g
rem color=
默认属性(默认菜单项,显示时间),如不输入,缺省A,60;
rem default=
例:=b,30 =b =,30
可显示菜单项里可包含同级其他菜单项(可显/隐含);
rem include0=
含有子菜单的菜单项里使用include,应放在子菜单结束后,本菜单项结束前
rem cm0=



rem include0=...
...
rem cm0=]b
复选菜单可多项选择(用回车键选择/清除);
rem cm0=

A
子菜单可多级嵌套;
第一级为0,第二级为1...
cm0,cm1...
include0,include1...
由%cm0%,%cm1%...返回参数A,B...P;
程序结束符 rem cm0=;
按↑↓或相应字母选择菜单项;'?'为复选菜单,按回车选择/清除;在单选菜单按回车确定
如果子菜单中不含标题、尾注、背景前景色、被选菜单项显示方式、时间,则继承父菜单内容

例子1:(实际使用时,需由'本是'的VTMagic.com将下面的中文字体换掉)
device=config.exe (由'本是'的VTMagic.com生成)
device=ConMenu.sys

rem color=1e
rem default=a,30
rem caption= 中文 MSDOS 7.1 启动盘
rem caption=================================================
rem endnote=按↑↓或相应字母选择菜单项;'?'为复选菜单,按回车选择/清除
rem endnote=在单选菜单按回车确定

rem cm0=



A

rem cm0=




B

rem cm0=


C

rem cm0=


D

rem cm0=
E

rem cm0=(1
devicehigh=vide-cdd.sys /d:ide-cd
devicehigh=aspicd.sys /d:scsi-cd
rem cm0=)1

rem cm0=(2
device=usbaspi.sys /r
device=aspiohci.sys /int /all
device=aspiuhci.sys /int /all
device=di1000dd.sys
device=usbcd.sys /d:usb-cd
rem cm0=)2

dos=high,umb,auto
fcbshigh=4,0
fileshigh=30
buffershigh=30,0
lastdrivehigh=32
stackshigh=9,256

rem cm0=Sample Text

[ Last edited by yaya on 2006-2-28 at 17:14 ]

附件
ConMenu1.jpg (40.95 KiB)
ConMenu212.rar (3.18 KiB)
第2楼 willsort 发表于 2006-01-15 20:01
元老会员 发帖 1,512 积分 4,432
Re yaya:

相当不错的原创作品!

希望它将来可以解决我做启动盘时所遇到的一些问题。不知楼主是否有计划支持多级菜单和复选菜单?

即用户可以在一个菜单中选择子菜单,并在子菜单中一次性选择多个需要加载的驱动程序。

另外,菜单界面的颜色,建议先做整屏处理;如果有必要,可以再做单菜单处理。
第3楼 coolboy163 发表于 2006-01-16 17:25
初级用户 发帖 74 积分 176
GOOD,楼主很有心啊
希望能越来越好
第4楼 本是 发表于 2006-01-17 14:46
银牌会员 发帖 790 积分 2,227
啊呀呀!真不错。也算替我了了CONFIG MENU编程的愿。前几天我的机器出了点问题,上不了网!今天弄好了,一上网就是一个惊喜!!!
第5楼 brglng 发表于 2006-01-17 15:31
银牌会员 发帖 466 积分 1,200 来自 上海
我觉得界面最好能像config.sys中使用[menu]配置一样
另外最好能做成复选的

支持楼主继续努力!!!
第6楼 yaya 发表于 2006-01-18 18:29
银牌会员 发帖 353 积分 1,009
计划增加多级菜单和复选菜单功能。已有思路,只是这几天比较忙。
第7楼 yaya 发表于 2006-01-23 18:11
银牌会员 发帖 353 积分 1,009
含有多级菜单和复选菜单功能ConMenu.sys已编制完毕,正在进一步验证,不日可发布。
第8楼 passion 发表于 2006-01-23 20:14
中级用户 发帖 51 积分 281
发布新版后,请附上参数说明。
感谢!
第9楼 weilong888 发表于 2006-01-24 09:11
银牌会员 发帖 548 积分 1,270
谢谢啦。

===============DOS★★★永远伴随我们的DOS================
==================================================

==================================================
第10楼 yaya 发表于 2006-01-25 12:34
银牌会员 发帖 353 积分 1,009
ConMenu.sys V2.00 已编制完毕,重新发布于1楼。

例子2:
device=config.exe
device=ConMenu.sys

rem color=1e
rem default=e,30
rem caption= 中文 MSDOS 7.1 启动盘
rem caption=================================================
rem endnote=按↑↓或相应字母选择菜单项;复选菜单按←选择,按→清除
rem endnote=在单选菜单按回车确定

rem cm0=[A. 最小模式
rem cm0=]

rem cm0=[B. 保护模式 加载 EMM386
device=himem.sys
device=emm386.sys noems
rem cm0=]

rem cm0=[C. 实模式 加载 UMBPCI
device=umbpci.sys
device=lowdma.sys
devicehigh=himem.sys
rem cm0=]

rem cm0=[?D. 加载 CD-ROM
devicehigh=vide-cdd.sys /d:ide-cd
devicehigh=aspicd.sys /d:scsi-cd
rem cm0=]

rem cm0=[?E. 加载 USB
device=usbaspi.sys /r
device=aspiohci.sys /int /all
device=aspiuhci.sys /int /all
device=di1000dd.sys
device=usbcd.sys /d:usb-cd
rem cm0=]

dos=high,umb,auto
fcbshigh=4,0
fileshigh=30
buffershigh=30,0
lastdrivehigh=32
stackshigh=9,256

rem cm0=[end]

附件
ConMenu2.jpg (36.28 KiB)
第11楼 yaya 发表于 2006-01-25 12:36
银牌会员 发帖 353 积分 1,009
例子3:
device=config.exe
device=ConMenu.sys

rem color=1e
rem default=a,30
rem caption= 中文 MSDOS 7.1 启动盘
rem caption=================================================
rem endnote=按↑↓或相应字母选择菜单项;复选菜单按←选择,按→清除
rem endnote=在单选菜单按回车确定

rem cm0=[A. 实模式 加载 UMBPCI
device=umbpci.sys
device=lowdma.sys
devicehigh=himem.sys

rem caption= 中文 MSDOS 7.1 启动盘
rem caption=================================================
rem endnote=按↑↓或相应字母选择菜单项;复选菜单按←选择,按→清除
rem endnote=在单选菜单按回车确定

rem cm1=[?A. 加载 CD-ROM
devicehigh=vide-cdd.sys /d:ide-cd
devicehigh=aspicd.sys /d:scsi-cd
rem cm1=]

rem cm1=[?B. 加载 USB
device=usbaspi.sys /r
device=aspiohci.sys /int /all
device=aspiuhci.sys /int /all
device=di1000dd.sys
device=usbcd.sys /d:usb-cd
rem cm1=]

rem cm1=[C. OK
rem cm1=]

rem cm1=[end]
rem cm0=]

rem cm0=[B. 最小模式
rem cm0=]


dos=high,umb,auto
fcbshigh=4,0
fileshigh=30
buffershigh=30,0
lastdrivehigh=32
stackshigh=9,256

rem cm0=[end]

附件
ConMenu31.jpg (21.92 KiB)
ConMenu32.jpg (24.25 KiB)
第12楼 yaya 发表于 2006-01-26 11:02
银牌会员 发帖 353 积分 1,009
修改了1项错误:时间到返回错误。
v2.01重新发布于1楼。
欢迎大家测试。
第13楼 willsort 发表于 2006-01-26 21:41
元老会员 发帖 1,512 积分 4,432
Re yaya:

对 ConMenu 的复选菜单和子菜单功能做了常规测试,未发现明显的问题,在此首先对其中的界面细节提出一些疑问和建议。

1、背景色和前景色: 这我在二楼已经提到,现在详细说明。菜单的 endnote 之下是原始的前景色和背景色,看上去不太美观,建议设置背景色和前景色后,进行类似cls的刷新动作。正在选择的菜单建议前景和背景反色处理,以免在近似颜色的界面中无法分辨;选中的复选菜单,也可以考虑同样的反色处理。

2、caption和endnote:不知兄处于什么考虑,将其各定为四行,这样在菜单项较少时,菜单界面整体偏上,视觉效果不是很少,可以考虑不限行数,且将 endnote 显示于屏幕底部。

3、rem cm0=[?A:很奇怪兄会用左右光标键切换复选,而非比较常用的空格或回车。

4、default:倒计时的秒数位置很奇怪,是否可以考虑移动到菜单项下方?当然,这可能要求 rem default 设置项也随之移动。

另外几个问题是功能上的:

1、include:不知被包含块中是否支持或准备支持子菜单,以实现同级的连续菜单?如果是肯定的,那么要考虑的问题就比较复杂了,比如 %cm1% 的返回值问题。另外,include是否支持或准备支持递归嵌套?

2、菜单的跳转:菜单的跳转实现可以实现菜单返回、任意多级菜单等性能,但其实现算法估计与 ConMenu.sys 目前使用的相去甚远。
第14楼 ddctczy 发表于 2006-01-26 23:10
中级用户 发帖 43 积分 245
高手就是高手!!

佩服!! 佩服!!
第15楼 weilong888 发表于 2006-01-27 10:00
银牌会员 发帖 548 积分 1,270
真是高人哪。

===============DOS★★★永远伴随我们的DOS================
==================================================

==================================================
1 2 3 419  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023