2010-11-19 5 views
2

(警告:これは私が頻繁に実行コンソールアプリケーションのために物事が容易になりながらのC#のビットを学ぶしようとするとC#N00B質問です!。)のC#からの引数を持つコンソールアプリケーションを実行する - GUIへの接続部のアドバイス

私は手動引数を毎回入力することなく、コンソールアプリケーション(consoleapp.exe)を実行しようとしているM」 - コマンドは、典型的には、この形式のものである:C#を使用

C:/consoleapp.exe --username (uname) --password (pass) --inputfile "c:/pathtofile/filename.xml"

は私もアップロードすることができるかもしれません毎回手動でファイルパスを入力するのではなく、Windowsエクスプローラファイルのプロンプトを表示します。これをどうやってやりますか?

私はsnippet at this linkを試しました。 ApplicationPathを私のcojnsoleアプリへのパスに置き換えて、ApplicationArgumentsを上記の形式で表示された引数で置き換えてください。 VC#GUIツールでパラメータを接続する方法がわかりません。私は元のコンソールアプリから戻ってくる出力をリレーする。

+0

'.bat'ファイルはおそらくもっと簡単でしょう(http://tips.oncomputers.info/archives2003/0305/2003-may-04.htm)。 –

+0

はい、理想的には、毎回ファイルパスを探すのではなく、 '--inputfile'引数のためのwin explorerファイルダイアログをロードするためにボタンをクリックするという贅沢をしたいと思います。 – ina

+0

私は読んだことがありますこの質問は何度か私はそれを正しく理解すればわからない。 @イーナ - あなたは何をしていますか(ステップバイステップ)を書くことができますか? 'consoleapp'が開発したアプリケーションで、VSからビルドして実行するのですか?それとも、あなたのアプリがコードから起動するアプリですか? –

答えて

9

これは上記の質問に対する回答ではありません。質問のコメントを参照してください。 プロジェクトのプロパティ]ダイアログ

デバッグタブを使用すると、コマンドライン引数を定義作業ディレクトリことができます。

0

ここに、パラメータ付きのコンソールアプリケーションを実行し、出力を処理するサンプルコードがあります。

private static Process PrepareTfProcess(string args) 
{ 
    return new Process 
         { 
          StartInfo = 
           { 
            CreateNoWindow = true, 
            FileName = @"consoleapp.exe", 
            Arguments = args, 
            RedirectStandardOutput = true, 
            UseShellExecute = false 
           } 
         }; 

} 

//... 
using (var process = PrepareTfProcess("--param1 --param2")) 
{ 
    while (!process.StandardOutput.EndOfStream) 
    { 
     string str = process.StandardOutput.ReadLine(); 
     // Process output lines here 
    } 
} 
//... 
+0

あなたが尋ねたことが、それが役立つかどうかは私がはっきりしていませんが – Dyppl

関連する問題