如何在C#中嵌入VBS并运行它?

时间:2012-07-25 22:16:19

标签: c# .net vbscript

我有一个工作正常的VBScript。我有一个C#程序,可以使用cscript程序运行VBScript。

我想要做的是将VBS嵌入到C#exe中,这样它就是一个文件,并且能够运行VBS文件。有没有办法让我将嵌入式VBScript文件作为参数传递给cscript或以其他方式运行嵌入式VBS文件?

2 个答案:

答案 0 :(得分:6)

Type scriptType = Type.GetTypeFromCLSID(Guid.Parse("0E59F1D5-1FBE-11D0-8FF2-00A0D10038BC"));

dynamic obj = Activator.CreateInstance(scriptType, false);
obj.Language = "vbscript";
string vbscript = "msgbox(\"test\")";
obj.Eval(vbscript);

答案 1 :(得分:3)

另一种方法是您可以通过子进程执行CSCRIPT.EXE:

Process.Start("cscript.exe", "C:\\myscript.vbs");

但是,请记住,.NET和C#与VBS脚本非常兼容。您可能希望直接将VBS代码重写为C#程序。