如何在C#应用程序的文本框中执行VBScript命令?
如何从放置在C#应用程序中的TextBox控件执行VBScript的代码?
比如,让我们假设我有一个C#Windows应用程序(表单),并有两个控件!
- 文本框(txtCode)
- 按钮(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行为或类似的行为执行它吗? 这是我能想到的唯一方式。