【发布时间】:2012-07-25 22:16:19
【问题描述】:
我有一个运行良好的 VBScript。我有一个可以使用 cscript 程序运行 VBScript 的 C# 程序。
我想要做的是将 VBS 嵌入到 C# exe 中,使其成为一个文件并且能够运行 VBS 文件。我有什么办法可以将嵌入式 VBScript 文件作为参数传递给 cscript 或以其他方式运行嵌入式 VBS 文件?
【问题讨论】:
我有一个运行良好的 VBScript。我有一个可以使用 cscript 程序运行 VBScript 的 C# 程序。
我想要做的是将 VBS 嵌入到 C# exe 中,使其成为一个文件并且能够运行 VBS 文件。我有什么办法可以将嵌入式 VBScript 文件作为参数传递给 cscript 或以其他方式运行嵌入式 VBS 文件?
【问题讨论】:
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);
【讨论】:
Wscript.Echo("hello")。知道为什么吗?
另一种方法是您可以通过子进程执行 CSCRIPT.EXE:
Process.Start("cscript.exe", "C:\\myscript.vbs");
但是,请记住,.NET 和 C# 与 VBS 脚本非常兼容。您可能只想将 VBS 代码直接重写为 C# 程序。
【讨论】:
Assembly.GetExecutingAssembly() .GetManifestResourceStream("script.vbs"))
one single file and be able to run the VBS file.”和“运行嵌入 VBS 文件的其他方式?”