如何从此代码隐藏CMD控制台?

时间:2011-07-27 09:25:10

标签: c# process start-process

如何在此代码中隐藏控制台?目前,每次运行此代码时都会显示cmd控制台。

protected override void OnStart(string[] args)
{            
    String applicationName = "cmd.exe";
    // launch the application
    ApplicationLoader.PROCESS_INFORMATION procInfo;
    ApplicationLoader.StartProcessAndBypassUAC(applicationName, out procInfo);

}

如何从这里执行* .bat文件?我可以简单地将“cmd.exe”替换为“xxx.bat”吗?

2 个答案:

答案 0 :(得分:4)

为代码添加系统引用;

using System Diagnostics;

然后使用此代码隐藏CMD窗口并运行。

Process cmd = new Process();
cmd.StartInfo.FileName = "cmd.exe";
cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
cmd.StartInfo.Arguments = "Your arguments";
cmd.Start();

答案 1 :(得分:0)

尝试使用Process Class而不是ApplicationLoader(我从未听说过这个类,它是一个自定义类吗?)

代码示例:

 using System.Diagnostics;

 Process pr = new Process();
 pr.StartInfo.FileName = "cmd.exe";
 pr.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
 pr.Arguments = "xxx.bat";
 pr.Start();