今天遇到一個問題,需要調用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窗口。