动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   服务器 → 阅读文章
  

 MS-DOS方式下对注册表的编程

作者:bacalpdc 来源:51CTO.com整理  
阅读 数 622 人次 , 2006-3-18 13:34:00 

在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:

@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函数做出来的效果。

 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:让注册表记住VFP应用程序的使用次数
· 下一篇:用注册表给应用程序加口令
· Windows Server 2003 x64版:挑战Unix与Linux
· 将WinXP改造成Media Center Edition
· xp小技巧:修复丢失的BOOT.ini文件
· MS Proxy用法(二)2
· 注册表及其备份与恢复


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077