wscript cscript与javascript一起使用COM与node.js

时间:2017-01-28 04:31:52

标签: javascript node.js com itunes wsh

操作系统:windows 10
节点:v6.9.4
iTunes 12.5.5.5

我正在尝试编写一个与itunes通信的node.js应用程序,它会执行很多操作,我想捕获响应并在网页中显示。

我现在正在努力去理解这个wscript的东西是运行一个节点文件,它将继续运行以在'更改歌曲'事件上输出一些关于大头钉的信息。

在我做了一些研究后,我做了一点,但现在我卡住了。 我对windows生态系统编码一无所知,而且这部分我正在努力

在网上搜索我找到了这个解决方案。

我不知道为什么我可以在cmd上使用cscript o wscript但在.js文件中我需要使用wscript

/* itunes open and playing a song */
var itunes = WScript.CreateObject("iTunes.Application");

var currentTrack = itunes.CurrentTrack;

WScript.Echo("name: " + currentTrack.Name + " artist: " + currentTrack.Artist);

打开cmd,转到该文件夹​​,然后运行

cscript /nologo myItunesScript.js 
/* /nologo prevent to show some default cmd text*/

程序将运行,输出音乐播放并自动关闭

如果我用wscript做同样的事情,我不知道为什么,但是它会显示一个带有结果的弹出窗口,而不是在cmd屏幕上显示。

在此页面上http://www.joshkunz.com/iTunesControl/main.html展示了我可以做的很多事情,甚至可以处理事件。

我没有找到任何关于npm的应用程序,它可以让我的生活更轻松。

所以如果有人可以给一些北方,我会很感激。

编辑:可以在没有节点的WScript的情况下连接到“iTunes.Application”吗?
如果没有,是否可以从WScript的输出中侦听事件? (比如在socket.io中,你连接到某些东西并继续听东西)

1 个答案:

答案 0 :(得分:2)

问题不明确我可能不应该回答 这个答案专门从问题中解决了这个问题;

  

如果我用wscript做同样的事情,我不知道为什么,但它会显示一个弹出窗口,显示结果而不是显示在cmd屏幕上。

您可能会混淆cscript.exewscript.exe的内容。

这两个程序都是WSH Windows Script Host,也很容易被称为WScript)

  • cscript.exe - 命令行版本
  • wscript.exe - Windows GUI版本

两者都运行VBScript但以不同方式输出结果,这是一个简单的演示示例。

以下脚本将输出短语Hello World;

Dim output: output = "Hello World"
WScript.Echo output

使用cscript.exe输出是;

>cscript //nologo "test.vbs"
Hello World

使用wscript.exe输出是;

>wscript //nologo "test.vbs"

Popup WScript Window