winreg

provides access to the windows registry through the REG tool

npm install winreg
1 downloads in the last day
22 downloads in the last week
149 downloads in the last month

node-winreg

node module that provides access to the Windows Registry through the REG commandline tool

Installation

npm install winreg

Usage

Let's start with an example. The code below lists the autostart programs of the current user.


var Winreg = require('winreg')
,   regKey = new Winreg({
      hive: Winreg.HKCU,                                          // HKEY_CURRENT_USER
      key:  '\\Software\\Microsoft\\Windows\\CurrentVersion\\Run' // key containing autostart programs
    })

// list autostart programs
regKey.values(function (err, items) {
  if (err)
    console.log('ERROR: '+err);
  else
    for (var i in items)
      console.log('ITEM: '+items[i].name+'\t'+items[i].type+'\t'+items[i].value);
});

The following options are processed by the Winreg constructor:

  • host the optional hostname, must start with the '\\' sequence
  • hive the optional hive id (see below), the default is HKLM
  • key the optional key, the default is th root key

The key, if specified, has to start, but must not be terminated with a '\' character.

The instances of Winreg provide access to a single registry key. The hive id can be one of the following:

  • HKLM HKEY_LOCAL_MACHINE
  • HKCU HKEY_CURRENT_USER
  • HKCR HKEY_CLASSES_ROOT
  • HKCC HKEY_CURRENT_CONFIG
  • HKU HKEY_USERS

Registry values are returned as objects, containing the following information:

  • host the hostname, if it has been set in the options
  • hive the hive id, as specified in the options
  • key the key, as specified in the options
  • name the name of the registry value
  • type one of the types listed below
  • value a string containing the value

Registry values can have one of the following types:

  • REG_SZ a string value
  • REG_MULTI_SZ a multiline string value
  • REG_EXPAND_SZ an expandable string value
  • REG_DWORD a double word value (32 bit integer)
  • REG_QWORD a quad word value (64 bit integer)
  • REG_BINARY a binary value
  • REG_NONE a value of unknown type

Following methods are provided by instances of Winreg:

Method Parameters Description
values callback list the values under this key
keys callback list the subkeys of this key
get name, callback gets a value by it's name
set name, type, value, callback sets a value
remove name, callback remove the value with the given key
create callback create this key
erase callback remove this key

Following readonly properties are provided by instances of Winreg:

Property Type Description
host string the hostname, if specified in the options
hive string the registry hive
key string the registry key
path string this key's path
parent Winreg a new Winreg instance initialized with the parent key
npm loves you