我需要在C#Windows应用程序中调用VBScript文件(.vbs文件扩展名)。
我怎样才能做到这一点?
有一个外接程序来访问VBScript文件
在Visual Studio中。
但是我需要在后面的代码中访问脚本。这个怎么做?
最佳答案
以下代码将执行没有提示或错误且没有 shell 徽标的VBScript脚本。
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 Script Host。您也可以尝试直接执行
cscript
,但是在某些系统上,它将仅启动编辑器:)