正常に動作する VBScript があります。cscript プログラムで VBScript を実行できる C# プログラムがあります。
私がやりたいことは、VBS を C# exe に埋め込んで、1 つのファイルにして 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);
もう 1 つの方法は、サブプロセスを介して CSCRIPT.EXE を実行することです。
Process.Start("cscript.exe", "C:\\myscript.vbs");
ただし、.NET と C# は VBS スクリプトと非常に互換性があることに注意してください。VBS コードを C# プログラムとして直接書き直すこともできます。