Windows 8 检测其他进程是否运行Metro应用程序

Windows 8 检测其他进程是否运行Metro应用程序,windows-8,microsoft-metro,Windows 8,Microsoft Metro,是否可以从用户空间检测外部进程(我只知道它的PID)是否运行Metro应用程序 更新:不幸的是,没有其他方法可以解决我的问题。我真的需要知道是否允许进程在Metro环境中绘制窗口。普通的Windows应用商店应用程序需要在AppContainer中运行,但这不是一个可靠的指标,因为任何桌面应用程序都可以自愿进入AppContainer将其用作沙箱。例如,如果在“高级设置”中启用“增强保护模式”,桌面Internet Explorer将执行此操作。此外,如果桌面应用程序符合某些标准,则可允许其在M

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


更新:不幸的是,没有其他方法可以解决我的问题。我真的需要知道是否允许进程在Metro环境中绘制窗口。普通的Windows应用商店应用程序需要在AppContainer中运行,但这不是一个可靠的指标,因为任何桌面应用程序都可以自愿进入AppContainer将其用作沙箱。例如,如果在“高级设置”中启用“增强保护模式”,桌面Internet Explorer将执行此操作。此外,如果桌面应用程序符合某些标准,则可允许其在Metro中显示(请参阅第页的“开发新的支持体验的桌面浏览器”)。例如,Chrome可以做到这一点。

结果是,有一个API函数可以实现这一点:。警告包括:

  • explorer.exe、taskmgr.exe和其他一些可能出于某种原因被认为是沉浸式的
  • 您只能查询在同一服务器上运行的进程
  • 某些进程(如bing maps的map.exe)以非沉浸式启动,几秒钟后切换到沉浸式

也许解释您的用例可以帮助其他人回答这个问题。我已经用我掌握的所有信息更新了这个问题。