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

Gle*_*rie 5 c# microsoft-metro windows-8 windows-runtime

我正在尝试构建一个Windows 8"metro-style"应用程序,它将作为"app appler"运行.对于那些使用过Win8(技术预览版)的人,你会注意到一旦你打开一个都市风格的应用程序你就无法关闭它(不进入任务管理器并结束这个过程).

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

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

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

谢谢

Hen*_*man 8

根据我的理解(观看Build2011视频),Metro App将无法做到这一点......

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

想想手机,而不是桌面.

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


Ste*_*owe 8

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

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

  • 对于Windows 8,所有应用程序都不是Metro风格.桌面应用程序仍然存在明确的需求.恕我直言,情况可能永远如此.我无法想象Visual Studio或Photoshop(不是元素)作为Metro风格的应用程序. (2认同)
  • 微软的代表(架构师,经理,......)已经表示,没有计划摆脱桌面.他们只是将metro和desktop视为两种不同的可用性场景.触摸(移动设备)更容易,而桌面(精度)更好.他们没有计划摆脱桌面.听起来你的应用程序应该是桌面应用程序,而不是Metro应用程序.仅仅因为Metro是新的并不意味着它是正确的架构和工具. (2认同)