今天遇到一个问题,需要调用bat文件,同时不让用户看到DOS窗口。记录下实现过程中遇到的问题,作为一个小提示,以便以后查阅。
C#调用bat文件的程序如下:
System.Diagnostics.ProcessStartInfo myStartInfo = new System.Diagnostics.ProcessStartInfo();
myStartInfo.FileName = "D:\\test.bat";
System.Diagnostics.Process myProcess = new System.Diagnostics.Process();
myProcess.StartInfo = myStartInfo;
myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
myProcess.Start();
myProcess.WaitForExit(); //等待程序退出
实现过程中遇到一个问题,成功地调用了bat文件,但是仍会出现DOS窗口。
刚开始用 myProcess.StartInfo.CreateNoWindow = true;控制DOS窗口不出现,事与愿违。
p.StartInfo.CreateNoWindow = true;
p.StartInfo.CreateNoWindow = false;
都会显示DOS,只是一个显示DOS信息 FALSE不显示
不显示DOS窗口是windowStyle控制的
myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
实现不显示DOS窗口。