访问Win8 Metro风格的应用程序中的其他进程

我正在尝试构建一个Windows 8“metro-style”应用程序,它将作为“应用程序杀手”运行。 对于那些使用过Win8(技术预览版)的人,您会注意到一旦打开地铁风格的应用程序,就无法关闭它(无需进入任务管理器并结束该过程)。

我的挑战是我无法从我的城域风格的应用程序访问’System.Diagnostics.Process’,也不知道WinRT中是否有类似的替代品。 我还想到构建一个单独的应用程序,为我的metro应用程序提供服务以进行交互,但我想用一个应用程序执行此操作。

从根本上说,我正在寻找一种模式来构建利用.NET 4.0组件的Metro风格的应用程序,特别是能够枚举和杀死PC上运行的其他进程。

澄清:我不太关心这个特定的应用程序,而不是在Metro风格的应用程序中访问那种类型的.NETfunction

谢谢

对于您的具体问题,此function不可用。 不允许应用与其他应用进行互动或干扰。

为了回答更一般的问题,与桌面应用程序可用的API相比,Metro风格应用程序可用的API受到限制。 C#有一个.Net库的子集 ,就像Silverlight一样。 C ++也是如此,其中桌面Win32 / COM API的子集可用。

根据我的理解(观看Build2011video),Metro App将无法做到这一点……

流程之间的交互仅限于特定的合同(右侧的魅力:搜索,发送到)。

想想手机,而不是桌面。

您可能可以构建一个非Metro Win8应用程序。

不要在此浪费太多时间。 我希望在测试版中可以包含一个关闭选项(可能甚至是一个魅力)。 在此之前使用键盘Alt-F4或任务管理器

C ++:

Window::Current->CoreWindow->Close();

要么

Window::Current->Close();

我没有探讨这两者之间的区别(更准确地说,我不知道CoreWindowCurrent不同之处。我可以假设……

我在Win7机器上使用带有Win8的Oracle VBox来使用VS 11开发C ++ Metro应用程序。我使用了上述两种方法。 我在任务管理器中validation了应用程序没有在Win8和模拟器上运行。