!为简化起见,我将 Windows应用程序(也称为Metro或现代UI)称为“app”,将常见的桌面应用程序称为“应用程序”!
我认为对于已经在市场上建立应用程序的开发人员来说,这仍然是关于应用程序开发的最不明确但最重要的问题之一: 如何管理Windows 8系统上的应用程序和应用程序之间的通信? (请不要开始就原则进行辩论 - 真的需要这么多用例!)
我在过去几天里基本上阅读了文章的内容,但仍然不清楚如何从第一次开始就这样做。主要是因为我发现了几个相互矛盾的信息。 在这里我的问题,我想从最终的Windows 8可能性的角度重新解决这个问题。
鉴于情况:
现在“简单”的问题是,如何实现这一目标?
这里有关于这个主题的一些讨论,但是大多数都不是最新的,因为MS在发布Windows 8的最终版本之前发生了很大的变化。而不是混合旧的和新的信息我'我想为我和所有其他Windows应用程序和应用程序开发人员找到这个问题的明确和当前的答案。谢谢!
答案 0 :(得分:11)
如果您正在谈论进入商店的应用程序,则不允许通过任何机制与本地系统进行通信。在某些调试方案中支持与本地系统的通信,以使应用程序开发更容易。
您可以使用文件或协议处理程序从Windows应用商店应用程序启动桌面应用程序,但没有直接通信。
因此,重申一点......发布的Windows应用商店应用程序不允许WinRT与桌面之间的通信。仅在调试时允许两个环境之间的通信。
PG已经在不同的地方发布了为什么不允许通信的原因,从安全性到WinRT生命周期(即,您的应用程序被暂停 - 如何处理它:资源,套接字,远程应用等等。 - 很多失败点)以及Store应用程序不能依赖外部程序这一事实(即,我需要您的本地桌面应用程序/服务才能运行该应用程序,但我如何安装您的应用程序/服务?您不能集成到商店应用程序。您可以提供另一个商店桌面应用程序条目,但这是一个糟糕的用户体验。)当然,这些是高级摘要。