我能够从C#运行VBScript并使用以下代码捕获标准输出和错误流:
var process = new Process();
process.StartInfo.FileName = "cscript";
process.StartInfo.WorkingDirectory = @"C:\scripts\";
process.StartInfo.Arguments = "//B //Nologo vbscript.vbs";
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.UseShellExecute = false;
process.Start();
...
这很好但是显示了一个控制台窗口。根据{{3}},我可以设置process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden来隐藏控制台窗口。我发现这只有在我没有捕获控制台输出时才有效,即如果我注释掉这些行:
//process.StartInfo.RedirectStandardOutput = true;
//process.StartInfo.RedirectStandardError = true;
//process.StartInfo.UseShellExecute = false;
有什么方法可以隐藏控制台窗口并且仍然能够捕获脚本的输出吗?
答案 0 :(得分:0)
您需要再添加一行:
userID