【发布时间】:2019-03-07 13:52:33
【问题描述】:
我正在尝试实现一种通过 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 中添加一个参数时,它确实有效。
知道我错过了什么吗?
【问题讨论】:
-
@GK 这个我试过了,但是这个有同样的问题
-
看起来您正在创建一个 ClickOnce 应用程序,对吧?您是否尝试过使用
AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData获取参数? -
@LittleBit 我刚试过,但我只是得到一个 NullReference
-
您是如何尝试启动该应用程序的?喜欢 Sham 提供的 Format 吗?
标签: c# wpf arguments scheduled-tasks startup