2012-04-18 10 views
0

現在、.net appから外部ツールを起動する際の問題を解決しています。Diagnostics.Processにプロンプ​​ト入力を送信

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; 

しかし、私は出力witn PROMT確認答えをStandartErrorするエラーを取得したアプリケーションを起動した後、「yと入力します/ N」: 私は、コードのこの部分を持っています。 私は既にプロセス開始直後にスタンドアット入力で "y"を入力しようとしましたが、同じエラーが発生します。

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

本当にありがとうございます。ありがとう。

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

+0

外部の.netアプリケーションとそれが何を期待しているか教えてください。問題をどのように実行しているのかここに伝えるのは本当に難しいです。 – abhilash

+0

[OK]を更新しました。 –

+0

ありがとう、あなたは私たちにPSCPのために渡すことを期待しているもののダミーargsを提供できますか? – abhilash

答えて

0

コードはわかりました。たぶん、あなたは "y"を書く前に、何秒か寝る必要があります。ユーザーに入力を求めるのに少し時間がかかると思います。

+0

debugとthread.sleepの両方から既に試しました –

+0

バッチ引数に問題がありました.pscpはバッチ属性が存在すると自動的に接続を中止します。 –

関連する問題