![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-13 03:07 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS学习入门 & 精彩文章 (教学室) » [原创]DOS下对注册表的编程 |
| 可打印版本 987 / 12 |
| 第1楼 dthao | 发表于 2007-09-25 14:56 |
| 中级用户 发帖 183 积分 378 | |
|
[原创]DOS下对注册表的编程 在DOS方式下也能对注册表进行编程?是的。当您的Windows95/98因注册表问题而无法启动到图形界面时,您此时只有在DOS下对注册表进行手术了。因为注册表编辑器Regedit.exe其实是一个双栖型的程序,既可在DOS下运行,也可在Windows95/98下运行。许多用户可能已经知道在Windows下使用Regedit的方法,那么,要掌握DOS方式下对注册表的编程,首先要了解在DOS下如何使用注册表编辑器。
在DOS提示符下键入Regedit命令,将出现一个帮助屏幕。此屏幕给出了其命令行参数及其使用方法。 语法: Regedit filename1 Regedit /C filename2 Regedit /E filename3 其中: /L:system 指定system.dat文件的存放位置。 /R:user 指定user.dat文件的存放位置。 filename1 指定引入注册表数据库的文件名。 /C filename2 指定形成注册表数据库的文件名。 /E filename3 指定导出注册表文件的文件名。 regpath 指定导出注册表文件的开始关键字(缺省为全部关键字) 现举几个例子说明regedit.exe在DOS下的使用方法。 【例1】 将系统注册表数据库registry导出到reg1.reg文件中。 regedit /E reg1.reg 【例2】 reg1.reg形成系统注册表数据库registry(全部)中。 regedit /C reg1.reg 【例3】 将reg.dat引入系统注册表数据库中(部分)。 regedit reg.dat 【例4】 将CJH开始的关键字导出注册表数据库,并命名为cjh.reg。 regedit /E cjh.reg cjh 【例5】 指定system/dat存放在D:PWIN中和user.dat存放在E:PWIN中,将reg.dat数据文件形成一个新的注册表数据库registry。 regedit /L:D:PWIN /R:E:PWIN /C reg.dat 有了以上这些知识,结合在《对注册表进行编程的“捷径”》里讲过的关于导入或导出的注册表文件(*.REG),我们就可以在DOS方式下对注册表进行编程了。 我们还是以更改“*.txt”文件的默认打开方式——“记事本”为“写字板”为例。首先在MS-DOS提示符下导出“HKEY_CLASSES_ROOT xtfile”子键这一分支,即执行命令: regedit /E txt.reg HKEY_CLASSES_ROOT xtfile 然后用DOS下的EDIT编辑器打开txt.reg文件进行编辑:将其中所有的“C:\WINDOWS\NOTEPAD.EXE”全部改成“C:\WINDOWS\WRITE.EXE”,存盘退出EDIT,再在命令行下执行命令: regedit txt.reg 便大功告成了。 当然,严格来说,这并不是编程。如果一定要编程实现的话,我们可以将以上过程写成一批处理文件chang.bat: @echo off path=c:windows;c:windowscommand;c:dos cls echo 正在导出注册表…… regedit /E txt.reg HKEY_CLASSES_ROOT xtfile echo. echo 注册表导出完毕!按任一键开始编辑注册表…… echo. pause edit txt.reg echo 正在将修改后的注册表导入…… regedit txt.reg echo 恭喜您!在MS-DOS方式下成功修改了注册表! pause cls @echo on 充分发挥EDIT编辑器的强大功能,我们可以在遵循导出的注册表文件的格式的前提下,对注册表进行随心所欲的修改、删除或者增加任一子键。如果觉得这还不够程序化,您可以发挥DOS环境下各种程序设计语言的优势,加上交互性的界面,将这一过程真正的程序化,应该丝毫不亚于Windows状态下的利用API函数做出来的效果。有兴趣的朋友可以试一试。 |
|
| 第2楼 yqi99 | 发表于 2007-09-26 16:09 |
| 初级用户 发帖 51 积分 108 | |
|
现在还有几个人用 Windows95/98 哦...
|
|
| 第3楼 gideon | 发表于 2007-09-26 18:19 |
| 新手上路 发帖 6 积分 14 | |
|
好帖!!!
|
|
| 第4楼 dthao | 发表于 2007-09-27 21:40 |
| 中级用户 发帖 183 积分 378 | |
|
? ~~呵呵
|
|
| 第5楼 dthao | 发表于 2007-09-27 21:42 |
| 中级用户 发帖 183 积分 378 | |
|
有人用~
![]() ![]() |
|
| 第6楼 cometarsenic | 发表于 2007-09-28 23:22 |
| 初级用户 发帖 23 积分 45 | |
|
请教一下,如果是XP系统的注册表~
在DOS下应该怎样操作? |
|
| 第7楼 dthao | 发表于 2007-09-29 18:11 |
| 中级用户 发帖 183 积分 378 | |
| 第8楼 dthao | 发表于 2007-09-29 18:11 |
| 中级用户 发帖 183 积分 378 | |
|
自己看
|
|
| 第9楼 dthao | 发表于 2007-09-29 18:13 |
| 中级用户 发帖 183 积分 378 | |
|
或者在DOS提示符下键入Regedit命令,将出现一个帮助屏幕。此屏幕给出了其命令行参数及其使用方法。
语法: Regedit filename1 Regedit /C filename2 Regedit /E filename3 其中: /L:system 指定system.dat文件的存放位置。 /L:user 指定user.dat文件的存放位置。 filename1 指定引入注册表数据库的文件名。 /C filename2 指定形成注册表数据库的文件名。 /E filename3 指定导出注册表文件的文件名。 regpath 指定导出注册表文件的开始关键字(缺省为全部关键字) |
|
| 第10楼 nzycx000825 | 发表于 2007-09-29 22:39 |
| 新手上路 发帖 6 积分 12 | |
|
XP!
|
|
| 第11楼 lqcabcd | 发表于 2007-09-29 23:06 |
| 初级用户 发帖 14 积分 30 | |
|
应该不单在95/98的系统才可以用的,其他应该也可以吧
|
|
| 第12楼 dthao | 发表于 2007-10-06 14:23 |
| 中级用户 发帖 183 积分 378 | |
|
差不多啊
|
|
| 第13楼 qingjing | 发表于 2007-10-07 10:34 |
| 新手上路 发帖 4 积分 10 | |
|
好东西,谢谢了!
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |