欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Node.JS更改Windows注册表Regedit的方法小结

程序员文章站 2022-04-29 08:05:14
注册表是windows操作系统中的一个核心数据库,其中存放着各种参数,直接控制着windows的启动、硬件驱动程序的装载以及一些windows应用程序的运行,从而在整个系统...

注册表是windows操作系统中的一个核心数据库,其中存放着各种参数,直接控制着windows的启动、硬件驱动程序的装载以及一些windows应用程序的运行,从而在整个系统中起着核心作用。这些作用包括了软、硬件的相关配置和状态信息,比如注册表中保存有应用程序和资源管理器外壳的初始条件、首选项和卸载数据等,联网计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件部件的描述、状态和属性,性能记录和其他底层的系统状态信息,以及其他数据等。

这里介绍一些通过node.js操作注册表的几种方法

方法一:通过childprocess调用reg命令

reg命令是windows提供的,它可以添加、更改和显示注册表项中的注册表子项信息和值,通过命令行输入 reg /?  即可弹出命令提示

c:\users\administrator>reg /?
reg operation [parameter list]
 operation [ query  | add  | delete | copy  |
        save  | load  | unload | restore |
        compare | export | import | flags ]

返回代码: (除了 reg compare)

  0 - 成功
  1 - 失败

要得到有关某个操作的帮助,请键入:

 reg operation /?

例如:

reg query /?
 reg add /?
 reg delete /?
 reg copy /?
 reg save /?
 reg restore /?
 reg load /?
 reg unload /?
 reg compare /?
 reg export /?
 reg import /?
 reg flags /?

通过child_process简单的封装即可调用上面的命令了:

var cp = require('child_process');
cp.exec("reg query hkey_current_user\xxx",function(error,stdout,stderr) {
});

方法二:通过node-regedit模块

node-regedit模块本质上也是通过对child_process的封装实现的,示例代码如下:

var regedit = require('regedit')
regedit.list('hkcu\\software', function(err, result) {
  ...
})
regedit.putvalue({
  'hkcu\\software\\myapp': {
    'company': {
      value: 'moo corp',
      type: 'reg_sz'
    },
    'version': { ... }
  },
  'hklm\\software\\myapp2': { ... }
}, function(err) {
  ...
})
regedit.createkey(['hklm\\software\\moo', 'hkcu\\software\\foo'], function(err) {
  ...
})

项目地址:  https://github.com/ironsource/node-regedit

总结

以上所述是小编给大家介绍的node.js更改windows注册表regedit的方法小结,希望对大家有所帮助