我需要在我的C#Windows应用程序中调用VBScript文件(.vbs文件扩展名).我怎样才能做到这一点?
在Visual Studio中有一个用于访问VBScript文件的加载项.但我需要在后面的代码中访问脚本.这该怎么做?
以下代码将执行VBScript脚本,没有提示或错误,也没有shell徽标.
System.Diagnostics.Process.Start(@"cscript //B //Nologo c:\scripts\vbscript.vbs");
一种更复杂的技术是使用:
Process scriptProc = new Process(); scriptProc.StartInfo.FileName = @"cscript"; scriptProc.StartInfo.WorkingDirectory = @"c:\scripts\"; //<---very important scriptProc.StartInfo.Arguments ="//B //Nologo vbscript.vbs"; scriptProc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; //prevent console window from popping up scriptProc.Start(); scriptProc.WaitForExit(); // <-- Optional if you want program running until your script exit scriptProc.Close();
使用这些StartInfo
属性可以非常精细地访问流程设置.
如果希望脚本程序显示窗口等,则需要使用Windows脚本宿主.您也可以尝试直接执行cscript
,但在某些系统上它只会启动编辑器:)