UWP应用可以使用Extension Category="windows.protocol"
(MSDN)注册自定义方案。我通过注册URI方案(MSDN)来了解自定义协议处理程序,但这些方案始终会启动应用程序的新实例。我想要的是UWP应用程序的行为:如果当前正在运行的实例,它将被激活。
我还查看了URL Monikers和异步可插入协议(MSDN),但这些只在调用进程内协议时才有效,例如在使用Web视图时。即使某些其他进程(例如Web浏览器)调用协议,也会激活UWP应用程序。
这适用于C ++ Win32桌面应用程序; .NET不是一种选择。
另外,正如我在对Anders的提案中所说的那样,我不想创建一个单独的组件来激活我正在运行的应用程序,而某些其他进程(例如浏览器)会调用我的协议。 UWP应用程序没有这样的要求,我希望我的应用程序也一样。
答案 0 :(得分:0)
您可以实现IExecuteCommand
,这是Internet Explorer为其HTTP注册(DelegateExecute)所做的事情。您的实现可以简单地查找应用程序的现有实例并与之通信(如果有)或正常启动。
This blog post应该让你开始......