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

标签 javascript node.js com itunes wsh

操作系统: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.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

关于javascript - wscript cscript 与 javascript 一起使用 COM 与 node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41906352/

相关文章:

c++ - 即用户代理wxWidgets

JavaScript 照片库

javascript - ajax 后 Angular 更新 $scope 变量未反射(reflect)在 UI 中

javascript - 通过javascript从不同的网页中获取文本

javascript - 将视频添加到 Youtube 播放列表 NodeJS

c# - VB6 中的 DotNet COM,没有强名称

javascript - 如何理解这个正则表达式模式

node.js - 使用 DialogFlowApp 的 actionMap 将多个意图映射到一个函数

javascript - 如何在nodejs和ES6导入中使用jquery插件?

c# - 在C#应用程序中导入并调用COM dll