2011-07-30 25 views
-1

可能性の重複:
Best way to parse command line arguments in C#?パーススイッチ(コマンドライン引数)

私はそう、私は私のC#のWPFアプリケーションにコマンドライン引数を解析することができるか疑問に思いました私はshutdown.exeのようなスイッチを使うことができます。たとえば、shutdown.exe /hを実行すると、コンピュータが休止状態になります。

+3

あなたの質問には意味のある情報はありません。 –

+1

これを行うにはNDesk.Optionsが最適です。 http://stackoverflow.com/questions/491595/best-way-to-parse-command-line-arguments-in-c – Jason

答えて

1

タグを指定すると、これはWPFアプリケーションであると仮定しています。 Mainメソッドが自動的に生成されるため、少し厄介です。

二つの選択肢心にバネ:

  • static void Main(string[] args)方法と別のエントリ・ポイントのタイプ(例えばProgram)を作成し、プロジェクトのプロパティのエントリポイントとしてそれを設定します。その後、コマンドラインパラメータを解析し、それに基づいてアクションを実行して、「本当の」アプリケーションのMainメソッドを呼び出すことができます。

  • メインApp XAMLのStartUpイベントのイベントハンドラを追加します。そのハンドラにはStartUpEventArgsの値が与えられ、Argsプロパティを介してコマンドラインパラメータを取得できます。

これらの第二は、おそらくより慣用的なアプローチですが、その後、コンソールまたはWinFormsのアプリケーションに変更した場合より多くの変更が必要になります。

+0

@ t27o:この[質問] [1] [1]を参照してください。 : 'App.xaml'、あなたの*アプリケーションの起動を記述しています。 –

1

あなたはこのようなことをすることができます。私はそれをテストしていないが、それは動作すると信じています。

static void Main(string[] args) 
{ 
    if (args.Length > 0 && args.Contains("/?")) 
    { 
     ShowHelp(); 
    } 
} 
+0

このタグ付きWPFはなぜですか? – Paul