2011-07-30 31 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