如何在node.js中弹出CD驱动器?

时间:2012-09-07 23:07:29

标签: javascript node.js

我想用node.js创建一个看起来像这样的小应用程序:

console.log("Creating extra beer holder...");
EjectCD();

这些功能是否已经存在,或者是否需要创建某种C ++绑定来执行此操作?

3 个答案:

答案 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中有一个模块可以用来做...

Open CD/DVD door with a Windows API call?

答案 2 :(得分:1)

现在有一个NPM模块可用于弹出CD驱动器。 Here is the module.

var diskdrive = require('diskdrive');
diskdrive.eject();

目前它不支持Windows,但支持Linux和Mac。该库只需调用弹出CD驱动器所需的相应命令行工具,同时添加对不同操作系统的支持,并消除回调地狱。