操作系统:windows 10
Node :v6.9.4
iTunes 12.5.5.5
我正在尝试编写一个与 iTunes 通信的 node.js 应用程序,它将做很多事情,我想捕获响应并在网页中显示。
我现在试图做的是运行一个 Node 文件来理解这个 wscript 文件,它将继续运行以在“更改歌曲”事件上输出一些关于大头钉的信息。
在我做了一些研究之后,我提出了一个观点,但现在我被卡住了。 我对 Windows 生态系统编码一无所知,在这部分我很挣扎
在网上搜索我找到了这个解决方案。
我不明白为什么我可以在 cmd 上使用 cscript 或 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 的情况下从 Node 连接到“iTunes.Application”吗?
如果不这样做,是否可以从 WScript 的输出中监听事件? (就像在 socket.io 中一样,你连接到某个东西并继续监听)
最佳答案
问题不明确我可能不应该回答。
这个答案专门从问题中解决了这个问题;
If i do the same thing with wscript i don't know why but it show a popup window with the result instead of showing on the cmd screen.
您可能混淆了 cscript.exe
和 wscript.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"
关于javascript - wscript cscript 与 javascript 一起使用 COM 与 node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41906352/