0

現在、.net アプリから外部ツールを起動する際の問題を解決しています。私はコードのこの部分を持っています:

proc.StartInfo = new ProcessStartInfo(_app, _args);
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardInput = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;

しかし、アプリケーションを起動した後、「y/n を入力してください」というプロンプトの確認応答で StandartError 出力にエラーが発生します。プロセスを開始した直後に、標準入力を介して「y」を入力しようとしましたが、それでも同じエラーが発生します。

 var standartInput = proc.StandardInput;
    standartInput.AutoFlush = true;
    standartInput.WriteLine("y");
    standartInput.Close();

助けていただければ幸いです。ありがとう。

PS: PuTTY セキュア コピー クライアント - コードから使用している外部アプリです。サーバーの指紋をシステムレジストリに保存するためにアプリを初めて実行するときに、確認プロンプトがあります。

4

1 に答える 1

0

コードは私には問題ないようです。「y」を書く前に、1秒か何か寝る必要があるかもしれません。プログラムがユーザーに入力を求めるのに少し時間がかかると思います

于 2012-04-18T08:31:02.057 に答える