Node.JS更改Windows注册表regedit的几种方法


发布者 ourjs  发布时间 1492827196423
关键字 JS学习  JavaScript 
注册表是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

相关文章: 利用Windows注册表将你的Node.JS程序添加到右健菜单直接运行










 热门文章 - 分享最多
  1. JavaScript使用ES6的Class面向对象继承时 this is not defined 解决方法
  2. Github Pages疑似被封: 再也不能用Pages搭建个人博客了
  3. JavaScript条形码生成和扫码识别(Barcode scan)开源库
  4. 关于华为优化30、40老员工的争议
  5. TCP/UDP协议比较:在Node.JS中UDP服务器和客户端通信示例
  6. OnceVI前后端分离的数据可视化报表工具简介
  7. Node.JS通过原型和类继承EventEmitter,实现收发事件的几种方法
  8. 2016 年崛起的 JS 项目
  9. 如何基于SVG矢量图制作一个可填写信息的可视化表单-OnceVI
  10. 周鸿祎:一些程序员没有商业意识,却又很自负,一看就知道不会创业

 相关阅读
  1. Debian下设置Linux Shell脚本开机自动启动Node.JS进程
  2. Node.JS通过原型和类继承EventEmitter,实现收发事件的几种方法
  3. 可视化Web报表OnceVI中用户输入表单验证与提交
  4. Web报表OnceVI如何制作条形码与打印二维码(Barcode/Qrcode)
  5. 如何基于SVG矢量图制作一个可填写信息的可视化表单-OnceVI
  6. OnceVI报表制作入门—如何将用户的json数据可视化成名片展示
  7. OnceDB支持全文搜索和关系查询的Redis内存数据库:驱动安装及使用教程
  8. 在OnceIO(Node.JS)中用Redis储存Session
  9. OnceIO的模块拦截与注入:模板文件路由重定向与Model数据改写
  10. OnceIO模块开发:模块注册、模块路由、静态文件重定向以及如何开发与设计一个功能扩展模块

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA