nodejs通过exec怎么获取注册表的信息
发布于 2年前 作者 k7gxn56 1370 次浏览

win7下的nodejs 0.8.3版

在命令提示符下通过命令 REG QUERY HKEY_CURRENT_USER\Software\WanXiang /v Name 可以获得我想要的结果

HKEY_CURRENT_USER\Software\WanXiang Name REG_SZ sx

但是把上面的命令放在nodejs的exec中提示error,命令如下

var cp = pr.exec('"REG QUERY HKEY_CURRENT_USER\Software\WanXiang /v Name"’,{ encoding:’utf8’, timeout:0, maxBuffer:210241024, killSignal:’SIGTERM’, cwd:null, env:null }); cp.stdout.on('data’,function(data){ console.log(data); }); cp.stderr.on('data’,function(data){ console.log(‘err’); console.log(data); }); cp.on('exit’,function(code,signal){ console.log(code); console.log(signal); });

打印输出

err ϵͳ�Ҳ���

1 null

如果把exec里面的内容换成dir或者tasklist是能够正常输出的,求解释!

3 回复

是乱码问题 解决方案 因为默认是asni编码的

所以 中文就会显示不正常 只有 在0x00~0x7f之间的正确 就是英文那些

非常谢谢楼上的回答,应该不是乱码问题,因为在百度知道里面已经解决了,解决的代码如下:

var pr = require(‘child_process’);

var cp = pr.exec("REG QUERY HKEY_CURRENT_USER\Software\WanXiang /v Name",function(error,stdout,stderr){ console.log('stdout:’+stdout); console.log('stderr:’+stderr); if(error != null){ console.log('exec error:’+error); } });

回到顶部