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是能够正常输出的,求解释!
是乱码问题 解决方案 因为默认是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); } });