3

如何在此代码中隐藏控制台?目前,每次运行此代码时都会显示 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”吗?

4

2 回答 2

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();
于 2011-07-27T09:29:32.293 回答
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();
于 2011-07-27T09:32:40.680 回答