ホームページ  >  記事  >  ウェブフロントエンド  >  メソッド共有: Node.JS が Windows レジストリ Regedit を変更する

メソッド共有: Node.JS が Windows レジストリ Regedit を変更する

巴扎黑
巴扎黑オリジナル
2017-08-21 10:08:212485ブラウズ

注册表是windows操作系统中的一个核心数据库,这里介绍一些通过node.js操作注册表的几种方法,感兴趣的朋友参考下吧

注册表是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) {
  ...
})

以上がメソッド共有: Node.JS が Windows レジストリ Regedit を変更するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。