如何在C#应用程序的文本框中执行VBScript命令?

如何从放置在C#应用程序中的TextBox控件执行VBScript的代码?

比如,让我们假设我有一个C#Windows应用程序(表单),并有两个控件!

  1. 文本框(txtCode)
  2. 按钮(btnExecute)

txtCode有VBScript代码,我想点击btnExecute来执行VBScript代码!

您可以将VBS / JS直接传递给脚本运行时并传递代码和对象。

添加引用到Microsoft脚本控件(COM),然后您可以;

 MSScriptControl.ScriptControl sc = new MSScriptControl.ScriptControl(); object[] anyParams = { "Bob"}; string expr = @"function foo(arg) dim x: x = ""Hello "" & arg msgbox x foo = 12345 End function"; sc.Language = "VBScript"; sc.AddCode(expr); object result = sc.Run("foo", ref anyParams); //also sc.Reset(); result = sc.Eval("1 + 2 / 3 + abs(-99)"); 

您需要使用WebBrowser Control来执行此操作。

因为我认为你不能在加载的页面中注入VBScript代码。 所以你可以做的是创建一个Temp .html页面,将TextBox的脚本保存在其中,然后将它加载到WebBrowser控件中。

难道你不能简单地将它写入文件并使用默认的Windows行为或类似的行为执行它吗? 这是我能想到的唯一方式。