在dos方式下也能对注册表进行编程?是的。当您的windows95/98因注册表问题而无法启动到图形界面时,您此时只有在dos下对注册表进行手术了。因为注册表编辑器regedit.exe其实是一个双栖型的程序,既可在dos下运行,也可在windows95/98下运行。许多用户可能已经知道在windows下使用regedit的方法,那么,要掌握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文件的存放位置。
/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\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函数做出来的效果。有兴趣的朋友可以试一试。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器