Запустите приложение WPF с аргументами - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь реализовать способ запуска приложения WPF с конкретными аргументами через расписание задач Windows и CMD.Я добавил код ниже.

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 голосов
/ 02 октября 2018

Вам необходимо использовать Environment класс в System Пространстве имен и использовать метод GetCommandLineArgs() для получения аргументов.

Например,

Args = Environment.GetCommandLineArgs();
0 голосов
/ 03 октября 2018

Согласно комментариям к Вопросу, я предполагаю, что проблема в том, что Start-Arguments были переданы неправильно.Приложение ClickOnce до сих пор работает как файл .exe и не может быть запущено с параметрами из CMD по соображениям безопасности enter image description here ( Источник )

Я предлагаювы посмотрите на this , он хорошо описывает, как аргументы могут быть переданы приложению через строки запроса.

0 голосов
/ 02 октября 2018

Для запуска cmd формы приложения с аргументами команды используйте следующий формат -

C:\StackOverflow\Bin\Debug> StackOverflow.exe arg1 arg2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...