2

是否可以从用户空间检测到是否有外部进程(我只知道它的 PID)运行 Metro 应用程序?

更新:不幸的是,没有其他方法可以解决我的问题。我非常需要知道是否允许进程在 Metro 环境中绘制窗口。常见的 Windows Store 应用程序需要在 AppContainers 中运行,但这不是一个可靠的指标,因为任何桌面应用程序都可以自愿进入 AppContainer 以将其用作沙箱。例如,如果您在高级设置中启用增强保护模式,桌面 Internet Explorer 会执行此操作。此外,如果桌面应用程序符合某些标准,则可能允许在 Metro 中显示(请参阅http://msdn.microsoft.com/en-us/library/windows/apps/hh465413 上的“开发支持新体验的桌面浏览器”。 .aspx)。例如 Chrome 就是这样做的。

4

1 回答 1

2

原来有一个 API 函数:IsImmersiveProcess。警告包括:

  • explorer.exe、taskmgr.exe 和其他可能出于某种原因被认为是沉浸式的
  • 您只能查询在同一桌面上运行的进程
  • 一些进程(例如 bing 地图的 map.exe)以非沉浸式开始,并在几秒钟后切换到沉浸式
于 2013-02-19T13:51:26.263 回答