Metro应用程序能否注意到其他应用程序?

问题描述:

有没有什么方法可以列出所有城域应用程序正在运行的城域应用程序?我在想一个地铁任务管理器。Metro应用程序能否注意到其他应用程序?

我不这么认为。 Metro Apps在沙盒中运行,就像在Windows Phone中一样。

+0

如果你是一个好的程序员,你可以钩dll调用,地铁启动器exe(s),加上;收集metro应用程序中的所有子目录,并利用这些信息 - 您可以查看存储应用程序当前是否正常工作的整个系统。我的意思是,如果你可以看到你的城域应用程序在Windows 8任务管理器中运行,那么应该有办法做到这一点。 – 2012-12-14 15:40:44

Metro应用程序彼此之间的相互了解仅限于通过共享魅力提供的共享合同。做一些类似于任务管理器的事情需要使用类似于仪表板方法的东西来处理从桌面端运行的服务中获取的数据,这可能不切实际。

+0

你可以开发如何从服务中做到这一点吗? – qdii 2014-09-01 22:22:09

确切的答案是否定的。 Metro应用程序无法枚举同一系统上的其他Metro应用程序。在同样的Metro应用程序中,无法“知道”桌面应用程序,因此桌面应用程序也不能(技术上)知道Metro应用程序。

但有一种情况,这是不正确的。 Metro应用程序的LoopBack功能在通过Microsoft商店交付时被禁用。但是,当他们通过企业门户进行侧面加载或加载时,LoopBack可能已启用 - 这允许Metro应用程序与可能正在监听的桌面应用程序有效地通信回到同一个框。

+0

我想到了Metro和Desktop可以通过公共Web服务交换数据的场景。您是否认为在本地可以在桌面和Metro之间打开TCP类型的频道?即用于JSON数据等。 – Independent 2012-07-30 12:11:15

您无法循环浏览其他Metro应用程序。 但是,您可以使用合约在Metro风格应用程序之间共享信息。 由于杰里尼克松在另一个答案中提到,你可以为sideloaded应用程序。 桌面应用程序不同,行为有所不同。你可以访问正在运行的桌面(而不是城域)应用程序