使用参数启动WPF应用程序

时间:2018-10-02 12:25:35

标签: c# wpf arguments scheduled-tasks startup

我正在尝试通过Windows任务计划和CMD为我提供一种使用特定参数启动WPF应用程序的方法。我已经在下面添加了代码。

protected override void OnStartup(StartupEventArgs e)
        {

            Logger.Info(e.Args.Length);

            for (int i = 0; i != e.Args.Length; ++i)
            {
                if (e.Args[i] == "test")
                {
                    Logger.Info($"G");
                }
                else
                {
                    Logger.Info($"B");
                }
            }
}

当我开始发布应用程序并通过CMD启动它或将它安排在带有参数的任务计划中时,e.Args.Length为0。但是当我在Properties > Debug > Command line arguments中添加一个参数时,它确实可以工作。 知道我想念什么吗?

3 个答案:

答案 0 :(得分:1)

根据问题的评论,我认为问题是开始参数传递错误。 ClickOnce应用程序确实像.exe文件一样工作,由于安全原因,无法使用CMD中的参数启动该应用程序 enter image description hereSource

我建议您看看this,它很好地描述了如何通过查询字符串将参数传递给应用程序。

答案 1 :(得分:0)

要使用命令参数运行应用程序表单cmd,请使用以下格式-

C:\StackOverflow\Bin\Debug> StackOverflow.exe arg1 arg2

答案 2 :(得分:0)

您需要在Environment命名空间中使用System类,并使用GetCommandLineArgs()方法来检索参数。

例如,

Args = Environment.GetCommandLineArgs();