我们正在使用 interop.msscriptcontrol.dll 来执行简单的 VBScript 变量代码(“Today - 1”之类的东西)。我们的应用程序是除此之外的非 COM 组件。我们已经搜索了 VBScript 的 .Net 替代品,但一直找不到。
.Net 有 VBScripting 替代品吗?
在下面的示例中,我将让 WebBrowser 控件评估 VBScript 表达式“Now - 1”并将结果嵌入到 WebBrowser 的 document.title 中,以便我可以在 C# 中获取它:
WebBrowser wb = new WebBrowser();
wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(
(object _sender, WebBrowserDocumentCompletedEventArgs _e) =>
{
MessageBox.Show(wb.Document.Title);
}
);
wb.DocumentText = @"
<HTML>
<HEAD>
<TITLE>Hello</TITLE>
<SCRIPT language=""VBScript"">
document.title = Now - 1
</SCRIPT>
</HEAD>
<BODY/>
</HTML>";
显然,这种方法存在以下问题:
我的直觉是这种方法可能比您当前使用的方法更糟。
我最终使用免费的 Codefluent 运行时引擎来替换 msscriptcontrol.dll:
http://www.softfluent.com/products/codefluent-runtime-client