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

ApplicationLoader の代わりに Process クラスで試してみてください (そのクラスについて聞いたことがないのですが、カスタム クラスですか?)

コード例:

 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 に答える