.Net替换VBScript(interop.msscriptcontrol.dll)DLL

时间:2012-05-06 15:48:41

标签: .net dll com vbscript replace

我们正在使用interop.msscriptcontrol.dll来执行简单的VBScript变量代码(“今天 - 1”类型的东西)。我们的应用程序是非COM组件,除此之外。我们已经搜索了.Net替换VBScript,但我们一直找不到。

是否有.Net的VBScripting替换?

2 个答案:

答案 0 :(得分:2)

在下面的示例中,我将使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>";

显然,这种方法有:

  • 结果将作为字符串处理
  • 结果需要异步处理
  • 代码注入不良可能导致无效结果
  • 可能效果不佳,可能会导致您的应用出现瓶颈

我的直觉是这种方法可能比您目前正在使用的方法更糟糕。

答案 1 :(得分:2)

我最终使用免费的Codefluent运行时引擎来替换msscriptcontrol.dll:

http://www.softfluent.com/products/codefluent-runtime-client