奇趣技术网 收藏本站
设为主页
商务合作
首页 新闻中心 行业动态 软件新闻 安全资讯 病毒预警 漏洞发布 操作系统 Dos Win9x Win2000 WinXP Win2003 WinVista Linux Unix
数据库 DB2 Access MSSQL MySQL Oracle Sybase 编程技术 ASP PHP JSP CGI/Perl XML .Net C/C++/C# VB VC Delphi Java 汇编
安全技术 安全教学 工具介绍 漏洞利用 病毒防范 入侵检测 防火墙 安全防范 汉化破解 攻击实例 加密解密 技术论坛
中华网络安全联盟 >> 操作系统 >> Dos >> DOS下对注册表的编程
操作系统
Windows XP
Windows 2000
Windows Vista
Windows 2003
Windows 9x
DOS
Linux
Unix
  • DOS系统中一些未公开的

  • 防止电脑死机二十五招

  • 常用的60招电脑操作精

  • 常用的60招电脑操作精

  • 常用的60招电脑操作精

  • 拒绝默认,更改DOS默认

  • 在DOS下使用注册表扫描

  • 在DOS下复活注册表数据

  • DOS下对注册表的编程
    字体:

    中华网络安全联盟    作者:佚名    来源:网络转载    时间:2006-3-24

       在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 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函数做出来的效果。有兴趣的朋友可以试一试。

    字体:
     
    设为主页 收藏本站 联系我们 友情连接 商务合作 网友留言
    Copyright©2006-2008 中华网络安全联盟 All rights reserved.