5

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

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

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

4

3 回答 3

4

您可以利用 node.js 在环境控制台中运行这一事实来做到这一点。也就是说,它只会打开您服务器上的驱动器,并且取决于您服务器的操作系统。以下应该(我没有要测试的 cd 驱动器)在您的 cd 驱动器安装为“cdrom”的 linux 环境中工作:

console.log("Creating extra beer holder...");
exec("eject cdrom -r");

此页面提供有关 linux 弹出命令的更多信息:http: //linux.about.com/od/commands/l/blcmdl1_eject.htm

没有用于弹出的本机 Windows 命令行命令,但是您可以在服务器上放置许多简单的可执行文件来完成此操作,例如http://www.nirsoft.net/utils/nircmd.zip,这需要命令:

"C:\nircmd.exe cdrom open d:" 
于 2012-09-07T23:31:27.757 回答
1

现在有一个 NPM 模块可以用来弹出 cd 驱动器。这是模块。

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

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

于 2014-06-02T07:09:33.770 回答
1

在linux中,您可以使用nodejs来调用eject命令行...

var exec = require('child_process').exec;
exec("eject [options]", function (error, stdout, stderr) { ... })

在 Windows 中,您需要利用媒体控制界面。不幸的是,NodeJS 似乎还不存在任何东西,因此您可能需要使用另一种语言的包来移植某些东西或菊花链。在 Lua 中,有一个模块可以做到这一点......

使用 Windows API 调用打开 CD/DVD 门?

于 2012-09-07T23:30:07.733 回答