2011-07-30 34 views
-1

可能重複:
Best way to parse command line arguments in C#?解析開關(命令行參數)到我的C#WPF應用程序

我想知道我怎麼可以解析的命令行參數,以我的C#WPF應用程序,所以我可以使用像shutdown.exe這樣的開關。例如運行shutdown.exe /h將使計算機休眠。

+3

在你的問題中根本沒有任何有意義的信息。 –

+1

NDesk.Options是做這件事的好方法。看到這個[問題] [1] [1]: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 :'App.xaml',因爲它描述你的*應用*啓動。 –

1

你可以做這樣的事情。我沒有測試過,但我相信它會起作用。

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

爲什麼這個標記爲WPF? – Paul