【发布时间】:2012-03-01 02:02:21
【问题描述】:
我正在用 Javacript 编写一个脚本,该脚本使用 cscript.exe 从命令行运行。
我在暴露给 COM 的 .NET 程序集中定义了以下 struct。
IDL 中的定义:
typedef [uuid(CA667ABD-C702-49DD-BC23-E9A7F75081E5), version(1.0),
custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, "MyApp.TestStruct")
]
struct tagTestStruct {
MyEnum MyEnumValue;
DATE Start;
} TestStruct;
我可以使用WSH.CreateObject() 很好地从 Javascript 中实例化 COM 对象。但是,是否有可能以某种方式从 Javascript 创建 COM 结构的实例?
【问题讨论】:
-
您想通过 JavaScript 使用 Windows 脚本主机吗?如果没有某种 ActiveX 包装器,我认为这是不可能的。
-
@Cory - Ermm...不确定我们是否在同一页面上。我已经更新了我的问题,试图让我更清楚我想要做什么。
-
JScript 不是比 JavaScript 多吗?
-
经过一番研究,我能给你的最好的猜测是你应该试试这个:
var myTest = new ActiveXObject("MyApp.TestStruct");脚本主机需要一个围绕你的 .NET COM 对象的包装器,ActiveXObject应该能够做到这一点。 -
我认为
new ActiveXObject类似于WSH.CreateObject。我能够使用它来很好地实例化对象,但是在尝试使用结构时它失败了Automation server can't create object。
标签: javascript com struct com-interop wsh