Передача параметров в приложение wpf clickonce, развернутое в хранилище файлов (не в Интернете) из другого приложения - PullRequest
0 голосов
/ 11 июня 2019

У меня проблема с передачей аргументов из одного приложения WPF в другое.Я пытаюсь запустить его как новый процесс с аргументами (строкой), но ничего не передается.

Вот что я пробовал: AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData - это ноль.

ApplicationDevelopment.CurrentDevelopment.ActivationUri.Query - это ноль

Environment.GetCommandLineArguments дает мне путь к приложению

Я запускаю приложение следующим образом: System.Diagnostics.Process.Start (filepath, "argumentsTest");

Оба приложения развертываются одним кликом, а во втором в опциях публикации я установил флажок «Разрешить передачу параметров URL в приложение»

1 Ответ

1 голос
/ 11 июня 2019

Я запускаю приложение следующим образом: System.Diagnostics.Process.Start (filepath, argumentsTest));

filePath должен ссылаться на ярлык в соответствии с предложением здесь :

StringBuilder sb = new StringBuilder();
sb.Append(Environment.GetFolderPath(Environment.SpecialFolder.Programs));
sb.Append("\\");
sb.Append("WpfApplicationClickOnce"); //pubslisher name
sb.Append("\\");
sb.Append("WpfApplicationClickOnce.appref-ms "); //application name
string shortcutPath = sb.ToString();

Process.Start(shortcutPath, "argumentTest");

После этого вы сможете получить данные, используя AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData.

...