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


Posted in Javascript onAugust 18, 2017

注册表是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的方法小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
超级简单的图片防盗(HTML),好用
Apr 08 Javascript
js鼠标点击事件在各个浏览器中的写法及Event对象属性介绍
Jan 24 Javascript
关于页面嵌入swf覆盖div层的问题的解决方法
Feb 11 Javascript
jQuery实现移动 和 渐变特效的点击事件
Feb 26 Javascript
jquery实现无限分级横向导航菜单的方法
Mar 12 Javascript
jQuery插件kinMaxShow扩展效果用法实例
May 04 Javascript
jQuery+PHP+MySQL实现无限级联下拉框效果
Feb 19 Javascript
微信小程序 滚动到某个位置添加class效果实现代码
Apr 19 Javascript
js实现图片放大展示效果
Aug 30 Javascript
详解如何在nuxt中添加proxyTable代理
Aug 10 Javascript
vue 中使用 watch 出现了如下的报错的原因分析
May 21 Javascript
vue移动端的左右滑动事件详解
Jun 17 Javascript
浅谈Angular2 ng-content 指令在组件中嵌入内容
Aug 18 #Javascript
Vue中引入样式文件的方法
Aug 18 #Javascript
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
Aug 18 #jQuery
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
Aug 18 #Javascript
select自定义小三角样式代码(实用总结)
Aug 18 #Javascript
js使用highlight.js高亮你的代码
Aug 18 #Javascript
二维码图片生成器QRCode.js简单介绍
Aug 18 #Javascript
You might like
自己做矿石收音机
2021/03/02 无线电
总结PHP如何获取当前主机、域名、网址、路径、端口和参数等
2016/09/09 PHP
php实现图片按比例截取的方法
2017/02/06 PHP
php实现socket推送技术的示例
2017/12/20 PHP
详解提高使用Java反射的效率方法
2019/04/29 PHP
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
2020/03/02 PHP
PHP http请求超时问题解决方案
2020/11/13 PHP
javascript 操作文件 实现方法小结
2009/07/02 Javascript
Extjs列表详细信息窗口新建后自动加载解决方法
2010/04/02 Javascript
jQuery读取和设定KindEditor值的方法
2013/11/22 Javascript
jquery实现鼠标滑过显示提示框的方法
2015/02/05 Javascript
jQuery+HTML5+CSS3制作支持响应式布局时间轴插件
2016/08/10 Javascript
Jquery AJAX POST与GET之间的区别详细介绍
2016/10/17 Javascript
AngularJS递归指令实现Tree View效果示例
2016/11/07 Javascript
javascript深拷贝的原理与实现方法分析
2017/04/10 Javascript
js脚本编写简单刷票投票系统
2017/06/27 Javascript
Vue从TodoList中学父子组件通信
2019/02/05 Javascript
微信小程序保持session会话的方法
2020/03/20 Javascript
实例讲解React 组件生命周期
2020/07/08 Javascript
[52:00]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs Optic
2018/04/02 DOTA
python中stdout输出不缓存的设置方法
2014/05/29 Python
在Python中操作字典之setdefault()方法的使用
2015/05/21 Python
centos6.4下python3.6.1安装教程
2017/07/21 Python
python爬虫实战之最简单的网页爬虫教程
2017/08/13 Python
利用Django内置的认证视图实现用户密码重置功能详解
2017/11/24 Python
Tensorflow实现卷积神经网络的详细代码
2018/05/24 Python
详解python selenium 爬取网易云音乐歌单名
2019/03/28 Python
Python 导入文件过程图解
2019/10/15 Python
python django中8000端口被占用的解决
2019/12/17 Python
Python 使用 environs 库定义环境变量的方法
2020/02/25 Python
scrapy框架携带cookie访问淘宝购物车功能的实现代码
2020/07/07 Python
解决Windows下python和pip命令无法使用的问题
2020/08/31 Python
HTML5拖放功能_动力节点Java学院整理
2017/07/13 HTML / CSS
高中生的自我鉴定范文
2014/01/24 职场文书
2015年档案管理员工作总结
2015/05/13 职场文书
JavaScript展开运算符和剩余运算符的区别详解
2022/02/18 Javascript