! 为了简化事情,我将Windows Store应用程序 (也称为Metro或Modern UI)称为“应用程序”,并将其作为“应用程序”引用到常见的桌面应用程序中!
我相信对于已经在市场上build立了应用程序的开发者来说,这仍然是关于应用程序开发的最不清楚但重要的问题之一:如何在Windows 8系统上pipe理应用程序和应用程序之间的通信? (请不要在原则上进行辩论 – 真的需要这么多的用例!)
我基本上读了过去几天的文章,但仍然不清楚如何从第一次开始。 主要是因为我发现了几个冲突的信息。 有了我的问题,我想从最终的Windows 8可能性的angular度来重新解决这个问题。
给定情况:
现在“简单”的问题是,如何做到这一点?
在这里有一些关于这个话题的讨论,但是大多数都不是最新的,因为在发布最终版本的Windows 8之前,MS发生了很大的变化。我不想混淆新旧信息,为我和所有其他Windows应用程序和应用程序开发人员find一个明确和最新的答案。 谢谢!
如果您正在讨论进入商店的应用程序,则不允许通过任何机制与本地系统进行通信。 在某些调试场景中支持与本地系统的通信,以便于开发应用程序。
您可以使用文件或协议处理程序从Windows应用商店应用程序启动桌面应用程序,但没有直接通信。
所以,重申一点… WinRT和桌面之间的通信不允许发布的Windows应用商店。 只有在调试时才允许两个环境之间的通信。
PG已经在不同的地方发布了为什么不允许通信的原因,从安全到WinRT生命周期(即,你的应用程序被暂停 – 如何处理资源,套接字,远程应用程序等等) )和Store应用程序不能依赖外部程序的事实(例如,我需要您的本地桌面应用程序/服务来运行应用程序,但是如何安装您的应用程序/服务?您无法集成到Store应用程序,您可以提供另一个Store桌面应用程序条目,但这是一个糟糕的用户体验。)当然,这些是高层次的摘要。