新建一个run.bat文件,内容比如说:
node app.js>>console.txt
然后,用在新建一个vb脚本,扩展名为.vbs,运行它即可。
CreateObject("WScript.Shell").Run "cmd /cX:\run.bat",0
vbs太敏感了,这个方法容易被反病毒软件误击。我个人还是推荐用C扩展,几行C代码的就行了
how to do?
@tank00 源代码如下:
//hideconsole源代码 #include "node.h" #pragma comment(lib, "node") using namespace v8; using namespace node; extern "C" void NODE_EXTERN init (Handle<Object> target) { ShowWindow(GetConsoleWindow(), SW_HIDE); }
用的时候,在脚本里面 require(’./hideconsole’); 就行了。 这个方法有个副作用,就是控制台窗口会一闪而过(执行到require(’./hideconsole’)之前,还是会显示的)。不过如果给启动node的脚本建立一个最小化运行的快捷方式,也就没问题了。
当然你也可以把node源码改了,自己编译一个非控制台的版本。
我计划在自己的项目里用另一种方法,就是CreateProcess启动node子进程的时候,指定参数:
StartupInfo.wShowWindow = SW_HIDE;
@wenbob 好强力,感谢帮助
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
vbs太敏感了,这个方法容易被反病毒软件误击。我个人还是推荐用C扩展,几行C代码的就行了
how to do?
@tank00 源代码如下:
用的时候,在脚本里面 require(’./hideconsole’); 就行了。 这个方法有个副作用,就是控制台窗口会一闪而过(执行到require(’./hideconsole’)之前,还是会显示的)。不过如果给启动node的脚本建立一个最小化运行的快捷方式,也就没问题了。
当然你也可以把node源码改了,自己编译一个非控制台的版本。
我计划在自己的项目里用另一种方法,就是CreateProcess启动node子进程的时候,指定参数:
@wenbob 好强力,感谢帮助