0

私が取り組んでいるアプリケーションでは、すべてがうまく機能します。私の質問は、psexec を実行するときにコマンド ウィンドウを抑制する方法はありますか? これは黙って走らせたい。以下は私が使用しているコードです。オンラインで多くの例を読みましたが、何も機能していないようです。考え?ありがとう。

            Process p = new Process();
            try
            {
                p.StartInfo.UseShellExecute = false;
                p.StartInfo.CreateNoWindow = true;
                p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                p.StartInfo.RedirectStandardOutput = true;
                p.StartInfo.RedirectStandardError = true;
                p.StartInfo.RedirectStandardInput = true;                                      
                p = Process.Start(psExec, psArguments);
                if (p != null)
                {
                    string output = p.StandardOutput.ReadToEnd();
                    string error = p.StandardError.ReadToEnd();
                    p.WaitForExit();
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                if (p != null)
                {
                    p.Dispose();
                }
            }
4

1 に答える 1

4

実際に p 変数を再度割り当てる前に StartInfo を設定している場合、コードは次のようになります。

...
ProcessStartInfo startinfo = new ProcessStartInfo(psExec, psArguments);
startinfo.UseShellExecute = false;
startinfo.CreateNoWindow = true;
startinfo.WindowStyle = ProcessWindowStyle.Hidden;
startinfo.RedirectStandardOutput = true;
startinfo.RedirectStandardError = true;
startinfo.RedirectStandardInput = true;                                      
p = Process.Start(startinfo);
...
于 2013-11-04T16:52:27.987 に答える