
MS-DOS方式下对注册表的编程
发布时间:2006-01-18 00:00:20 来源: 网友评论 0 条
在MS-DOS方式下也能对注册表进行编程?是的。当您的Windows 95/98因注册表问题而无法启动到图形界面时,您此时只有在DOS下对注册表进行手术了。因为注册表编辑器Regedit.exe其实是一个双栖型的程序,既可在DOS下运行,也可在Windows 95/98下运行。许多用户可能已经知道在Windows下使用Regedit 的方法,那么,要掌握MS-DOS方式下对注册表的编程,首先要了解在DOS下如何使用注册表编辑器。
在DOS提示符下键入Regedit命令,将出现一个帮助屏幕。此屏幕给出了其命令行参数及其使用方法。
语法: Regedit [/L:system] [/R:user] filename1
Regedit [/L:system] [/R:user] /C filename2
Regedit [/L:system] [/R:user] /E filename3 [regpath]
其中:
/L:system 指定system.dat文件的存放位置。
/L: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/txtfile”子键这一分支,即执行命令:
regedit /E txt.reg HKEY_CLASSES_ROOT/txtfile
然后用DOS下的EDIT编辑器打开txt.reg文件进行编辑:将其中所有的“C://WINDOWS//NOTEPAD.EXE”全部改成“C://WINDOWS//WRITE.EXE”,存盘退出EDIT,再在命令行下执行命令:
regedit txt.reg
便大功告成了。当然,严格来说,这并不是编程。如果一定要编程实现的话,我们可以将以上过程写成一批处理文件chang.bat:
充分发挥EDIT编辑器的强大功能,我们可以在遵循导出的注册表文件的格式的前提下,对注册表进行随心所欲的修改、删除或者增加任一子键。如果觉得这还不够程序化,您可以发挥DOS环境下各种程序设计语言的优势,加上交互性的界面,将这一过程真正的程序化,应该丝毫不亚于Windows状态下的利用API函数做出来的效果。
在DOS提示符下键入Regedit命令,将出现一个帮助屏幕。此屏幕给出了其命令行参数及其使用方法。
语法: Regedit [/L:system] [/R:user] filename1
Regedit [/L:system] [/R:user] /C filename2
Regedit [/L:system] [/R:user] /E filename3 [regpath]
其中:
/L:system 指定system.dat文件的存放位置。
/L: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/txtfile”子键这一分支,即执行命令:
regedit /E txt.reg HKEY_CLASSES_ROOT/txtfile
然后用DOS下的EDIT编辑器打开txt.reg文件进行编辑:将其中所有的“C://WINDOWS//NOTEPAD.EXE”全部改成“C://WINDOWS//WRITE.EXE”,存盘退出EDIT,再在命令行下执行命令:
regedit txt.reg
便大功告成了。当然,严格来说,这并不是编程。如果一定要编程实现的话,我们可以将以上过程写成一批处理文件chang.bat:
| @echo off path=c:/windows;c:/windows/command;c:/dos cls echo 正在导出注册表…… regedit /E txt.reg HKEY_CLASSES_ROOT/txtfile echo. echo 注册表导出完毕!按任一键开始编辑注册表…… echo. pause edit txt.reg echo 正在将修改后的注册表导入…… regedit txt.reg echo 恭喜您!在MS-DOS方式下成功修改了注册表! pause cls @echo on |
充分发挥EDIT编辑器的强大功能,我们可以在遵循导出的注册表文件的格式的前提下,对注册表进行随心所欲的修改、删除或者增加任一子键。如果觉得这还不够程序化,您可以发挥DOS环境下各种程序设计语言的优势,加上交互性的界面,将这一过程真正的程序化,应该丝毫不亚于Windows状态下的利用API函数做出来的效果。
推荐阅讯
- 用Visual Basic修改Windows98注册表
- 使用windows2k注册表防御BO 2k木马
- Windows98注册表结构
- 锁定/解除 Windows 注册表编辑器
- 注册表数据结构
- 注册表如何移动收藏夹
- 对注册表进行编辑的三种途径(1)
- 在VC++中访问和修改系统注册表
- C++ Builder中注册表的操作
- 用VB实现Win2000用户限时登录
阅读排行
- 1.注册表知识:HKEY_LOCAL_MACHINE根键详解
- 2.浏览网页注册表被修改之迷及解决办法
- 3.初识注册表
- 4.收放自如 注册表禁止使用和恢复禁用
- 5.雕虫小技 教你吓走想要动你电脑的人
- 6.对注册表进行编辑的三种途径
- 7.编程解决注册表问题所需的函数详解
- 8.网上冲浪要小心 不让别人动你的注册表
- 9.Windows系列操作系统注册表的组成与分析
- 10.解除封锁注册表被禁用的几种解决办法
专题教程
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
- Picasa中文版_Picasa教程 专题:清除流氓软件
- Firefox专题 seo搜索引擎优化专区
- 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
