将开关(命令行参数)解析为我的C#wpf应用程序

时间:2011-07-30 14:29:08

标签: c# wpf command-line-arguments

  

可能重复:
  Best way to parse command line arguments in C#?

我想知道如何解析我的c#wpf应用程序的命令行参数,所以我可以使用shutdown.exe中的开关。例如,运行shutdown.exe /h将使计算机休眠。

2 个答案:

答案 0 :(得分:1)

鉴于标签,我假设这是一个WPF应用程序。这使得它更加尴尬,因为Main方法是自动生成的。

我想到了两种选择:

  • 使用Program方法创建单独的入口点类型(例如static void Main(string[] args)),并将其设置为项目属性中的入口点。然后,您可以解析命令行参数,对其进行操作,并在需要时调用“真实”应用程序上的Main方法。

  • 在主StartUp XAML中为App事件添加事件处理程序。该处理程序将被赋予StartUpEventArgs值,您可以通过Args属性从中获取命令行参数。

其中第二种可能是更惯用的方法,但如果您更改为控制台或WinForms应用程序,则需要进行更多更改。

答案 1 :(得分:1)

你可以这样做。我没有测试过,但我相信它会起作用。

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