我想用node.js创建一个看起来像这样的小应用程序:
console.log("Creating extra beer holder...");
EjectCD();
这些功能是否已经存在,或者是否需要创建某种C ++绑定来执行此操作?
答案 0 :(得分:4)
您可以通过利用node.js在环境控制台中运行这一事实来实现此目的。也就是说,它只会在您的服务器上打开驱动器,并且依赖于您服务器的操作系统。以下应该(我没有CD驱动器测试)在你的CD驱动器安装的Linux环境中工作" cdrom":
console.log("Creating extra beer holder...");
exec("eject cdrom -r");
此页面提供了有关linux eject命令的更多信息:http://linux.about.com/od/commands/l/blcmdl1_eject.htm
没有用于弹出的本机Windows命令行命令,但是您可以在服务器上放置许多简单的可执行文件来完成此操作,例如http://www.nirsoft.net/utils/nircmd.zip,它将执行命令:
"C:\nircmd.exe cdrom open d:"
答案 1 :(得分:1)
在linux中,您可以使用nodejs来调用eject
命令行...
var exec = require('child_process').exec;
exec("eject [options]", function (error, stdout, stderr) { ... })
在Windows中,您需要利用媒体控制接口。不幸的是,NodeJS似乎没有任何东西存在,所以你可能需要使用另一种语言的包来移植某些东西或菊花链。在Lua中有一个模块可以用来做...
答案 2 :(得分:1)
现在有一个NPM模块可用于弹出CD驱动器。 Here is the module.
var diskdrive = require('diskdrive');
diskdrive.eject();
目前它不支持Windows,但支持Linux和Mac。该库只需调用弹出CD驱动器所需的相应命令行工具,同时添加对不同操作系统的支持,并消除回调地狱。