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

本文关键字:访问 其他 进程 应用程序 Win8 metro 风格 | 更新日期: 2023-09-27 18:11:19

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

我的挑战是我无法访问"System.Diagnostics"。我也不知道WinRT中是否有类似的替代品。我还想过构建一个单独的应用程序,为我的地铁应用程序提供一个服务,以便与之交互,但我想用一个单独的应用程序来做这件事。

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

澄清:我更关心的不是这个特定的应用程序,而是在metro风格的应用程序

中访问那种类型的。net功能。

谢谢

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

对于您的具体问题,此功能不可用。应用程序不允许与其他应用程序交互或干扰。

回答您的一般性问题,与桌面应用程序相比,Metro风格应用程序可用的api是有限的。c#有一个。net库的子集,就像Silverlight一样。对于c++也是如此,因为它有一个桌面Win32/COM api的子集可用。

据我所知(观看Build2011视频),Metro应用程序将无法做到这一点…

进程之间的交互被限制在特定的契约中(右边的符咒:Search, Send-to)。

想想手机,而不是桌面。

你也许可以构建一个非metro Win8应用程序。

不要在这上面浪费太多时间。我希望在测试中,一个接近的选项(甚至可能是一个魅力)将包括在内。在此之前,使用键盘Alt-F4或任务管理器

c++:

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

Window::Current->Close();

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

我在Win7机器上使用Win8的Oracle VBox来开发使用vs11的c++ Metro应用程序。以上两种方法我都用过。我在任务管理器中验证了该应用程序不能在Win8和模拟器上运行。