将参数从另一个应用程序传递到部署在文件存储(而非Web)上的wpf clickonce应用程序

时间:2019-06-11 14:56:33

标签: c# wpf clickonce

我无法将参数从一个WPF应用程序传递到另一个。 我正在尝试将其作为带有参数(字符串)的新进程启动,但是没有传递任何内容。

这是我尝试过的: AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData为空。

ApplicationDevelopment.CurrentDevelopment.ActivationUri.Query为空

Environment.GetCommandLineArguments为我提供了应用程序的路径

我正在这样启动应用程序: System.Diagnostics.Process.Start(filepath,“ argumentTest”);

两个应用程序都单击一次部署,在第二个发布选项中,我选中了“允许将URL参数传递给应用程序”

1 个答案:

答案 0 :(得分:1)

  

我正在这样启动应用程序:System.Diagnostics.Process.Start(filepath,“ argumentTest”);

filePath应该参考建议的javadoc引用快捷方式:

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检索数据。