我有一个工作正常的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")
。你有什么想法吗? - Dan WWScript.Echo
只有在通过WScript.exe
或CScript.exe
主机运行脚本时才可用。这也适用于其他WScript命令,比如WScript.Sleep
。 - undefined另一种方法是通过子进程执行CSCRIPT.EXE:
Process.Start("cscript.exe", "C:\\myscript.vbs");
但是,请记住,.NET 和 C# 与 VBS 脚本非常兼容。你可能想直接将 VBS 代码重写为 C# 程序。
Assembly.GetExecutingAssembly().GetManifestResourceStream("script.vbs"))
。 - Jack