【发布时间】:2017-11-10 21:20:36
【问题描述】:
带有 COM MSScriptControl 的 C# 代码:
var script = new MSScriptControl.ScriptControl();
script.Language = "VBScript";
script.AddObject("me", this, true);
//script.AddObject("WScript", wscript, true);
script.AddCode(System.IO.File.ReadAllText("Script.vbs"));
Script.vbs 内容:
Set oShell = WScript.CreateObject ("WScript.Shell")
错误:对象要求:'WScript'
如何在 C# 中为 addobject 创建 WScript 对象的实例?
【问题讨论】:
-
WScript 对象是由 wscript.exe 和 cscript.exe 实现的,图中不再显示。现在是您实现主机,因此您也必须实现 WScript。这并不一定很困难,但如果您想支持 WScript 所做的一切,它可能会很困难。您所要求的只是一个 C# 类,它是 [ComVisible(true)] 与公共对象 CreateObject(string progid, string prefix) 方法。调用 Microsoft.VisualBasic.Interaction.CreateObject(progid)。 WScript.Quit() 方法很难实现。