zoukankan      html  css  js  c++  java
  • Windows 注册表常用操作

    1 添加一个主键(比如在HKEY_LOCAL_MACHINESOFTWARE中添加一个ABCEDFGHIJKLMN主键)

    Windows Registry Editor Version 5.00

     

    [HKEY_LOCAL_MACHINESOFTWAREABCEDFGHIJKLMN]

     

    可以用中文,但是会被添加到最后(按字母排序的)

     

    2 删除一个主键(只要在代码前面加一个负号即可,注意,如果你发现中文注册表删不掉或者添加不了,是因为你保存的时候没有保存为ASCII格式,UTF-8很容易造成乱码,这在下面添加键值还会讲到)

    Windows Registry Editor Version 5.00

     

    [-HKEY_LOCAL_MACHINESOFTWAREABCEDFGHIJKLMN]

    [-HKEY_LOCAL_MACHINESOFTWARE我是猪头三]

     

    3 添加键值. 例如我们要在"HKEY_LOCAL_MACHINESoftware ABCEDFGHIJKLMN"主键下设置默认键值为"工作室",并分别添加"姓名"键值项目(字符串值)、"年龄"键值项目(二进制值)、"婚否"键值项目(DWORD值)。相应的REG文件内容如下:

    Windows Registry Editor Version 5.00

     

    [HKEY_LOCAL_MACHINESOFTWAREABCEDFGHIJKLMN]

    @="工作室"

    "姓名"="陶海"

    "年龄"=hex:23

    "婚否"=dword:00000000

    添加之后效果如下

     

    但是如果你的reg文件时UTF-8格式的,就会发现乱码啦

     

    注意添加键值项目的操作如同注册表编辑器中的"新建"命令,一般来说,键值的数据类型分为三种:字符串值、二进制值和DWORD值。在REG文件中我们也要设置添加的键值项目的数据类型,如果要添加字符串值,则"="号后边要用英文的双引号引住数据;如果添加的为DWORD类型值,"="号后边的格式为"dword:数据";如果添加的为二进制值,"="号后边 reg文件则为"hex:数据"。要设置默认值的键值数据时,"="号前边的键值名称应为"@"符号,并且没有双引号。每一行前面有没有空格并没有影响。

     

    如果添加的键值为路径相关的,要把换成\,比如下面

    "scr"="C:\PROGRAM ILES\BOOBSOFT\屏幕保护控制器\屏幕保护控制器.exe"

     

    注意,非法的值不会被添加!比如"scr"=""则还是未设置"scr"="\"则显示为""

     

     

    4 修改键值,很简单,把刚才的添加键值的数据改一改就可以了,如果键名相同,系统会自动更新原有数据

     

    5 删除键值,也很简单,比如要删除年龄和姓名,如下图所示即可。

     

    最后,如何批处理,还不弹出提示框呢?比如我有下面几个reg文件,分别添加ABC,ABCDEF,ABCDEFGHI主键

    注意:"XXX"=dword:00000000或"XXX"=dword:00000001而不能是模仿人家REG_DWORD:00000000

     

    我再新建一个BAT文件,你可以直接执行,就可以导入这三个REG文件了,但是会有CMD的黑框,请注意,BAT文件还是要保存为ASCII格式,否则依旧会乱码,你可以在这个BAT文件最后加一个暂停看有没有乱码

    regedit /S "批处理_1.reg"

    regedit /S "批处理_2.reg"

    regedit /S "批处理_3.reg"

    pause

     

    所以我再新建一个VBS文件去静默的执行这个BAT文件

    Set shell = Wscript.createobject("wscript.shell")

    a = shell.run ("批量导入注册表.bat",0)

     

    这样就完成了批量导入注册表文件,但是想要做成安装软件的那种滚动条滚到头安装结束怎么弄呢?肯定不能这么搞啦,偶也不知道哦。

  • 相关阅读:
    mycat实例(1)
    Java连接Oracle数据库的示例代码
    文本处理grep命令
    回调函数
    算法基础--快排序,堆排序,归并排序
    c++ 中double与string之间的转换,char *
    c++ 类型转换
    allocator class
    csapp读书笔记-并发编程
    树的遍历-递归方法,非递归方法
  • 原文地址:https://www.cnblogs.com/acetaohai123/p/6610141.html
Copyright © 2011-2022 走看看