C#调用bat 不显示DOS窗口

本文详细记录了使用C#调用bat文件时遇到的问题及解决方案,重点在于如何隐藏DOS窗口,通过设置ProcessStartInfo属性来实现不显示DOS窗口的目标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天遇到一个问题,需要调用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窗口。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值