最简单的方法是使用自定义URI方案,然后使用它启动应用程序.
注册和处理自定义URI在官方UWP文档中有详细描述,因此我建议您遵循这一点.简而言之,您首先在您的注册中注册自定义URI方案Package.appxmanifest,然后覆盖OnActivatedin App.xaml.cs并检查是否IActivatedEventArgs.Kind存在ActivationKind.Protocol.然后,您转换IActivatedEventArgs为ProtocolActivatedEventArgs并使用其Uri属性来访问已启动的URI.
在Windows窗体方面,您只需启动URI,这将导致UWP应用程序启动/激活.您可以通过使用URI启动进程来执行此操作:
var url = "myapp:?someparam=somevalue";
var psi = new ProcessStartInfo();
psi.UseShellExecute = true;
psi.FileName = url;
Process.Start(psi);
Run Code Online (Sandbox Code Playgroud)
您可以使用URI通过在URI string中使用查询字符串参数将任何值传递给UWP应用程序.您可以OnActivated在UWP应用程序中阅读方法中的那些.
当然,这不是唯一的解决方案,因为您现在也可以在Windows窗体中使用UWP API,因此您可以使用App Services在两个应用程序之间传递数据.如果您只需要单向通信,那么自定义URI就是您的选择.
从构建16226开始,UWP支持App Execution Alias,它允许您声明一个系统范围的应用程序名称,该名称可用于从系统中的任何位置从命令行启动应用程序.您可以在此博文中了解更多相关信息.这样,您可以直接通过其名称启动应用程序,并将参数作为进程参数传递.
| 归档时间: |
|
| 查看次数: |
848 次 |
| 最近记录: |