从通用Windows应用程序打开外部应用程序

时间:2015-09-01 11:47:21

标签: windows-store-apps uwp

当用户选择"视频通话时,我需要打开外部应用程序(Cisco Jabber Video for Telepresence)。我的应用中的选项。

我发现无法在通用应用程序中打开可执行文件的位置...

我还发现,当它与任何URI方案无关时,我无法打开它...

我有什么方法可以做到这一点吗?

1 个答案:

答案 0 :(得分:8)

感谢Microsoft MVA,我们提供了一些选项(你只需要将它们弄清楚):

解决方案1(由this Microsoft MVA tutorial推荐):
如果要启动特定应用程序,则必须创建URI方案注册,只有您要启动的特定应用程序才能处理。 使用Launcher,您可以调用仅由一个应用程序处理的指定URI(例如my-cool-uri-scheme://start?param1=123&param2=ABC)。

注意:用户将始终选择以指定URI开头的应用(这就是微软推荐此解决方案的原因)。

以下解决方案很可能只适用于企业环境!

解决方案2( clean 解决方法):
您必须编写代理Windows应用程序 此代理应用程序(几乎与解决方案#1中一样)使用特定的文件扩展名注册自己 在您的UWP应用程序中,您可以调用包含参数的虚构文件路径(例如C:/Users/CURRENTUSER/AppData/Roaming/YOURAPP/PARAM1/PARAM2/PARAM3/open.my-cool-extension) - 或者事件包含参数的文件本身(例如XML或RESTful)。
然后,处理应用程序将使用这些信息来启动具有给定参数的特定应用程序(使用Process.Start)。

解决方案3(解决方法):
您必须编写一个观察Windows应用程序。 此应用程序创建一个FileSystemWatcher侦听特定文件夹。那么为什么这是的解决方法?因为你...

  1. 必须为您的UWP应用创建FileSystemWatcher永久观看特定放置目录。
  2. 用户无法控制将要发生的事情(无法覆盖应用程序以启动)