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

时间:2012-11-27 11:08:34

标签: windows-8 microsoft-metro

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

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

1 个答案:

答案 0 :(得分:2)

原来有一个API函数:IsImmersiveProcess。注意事项包括:

  • explorer.exe,taskmgr.exe以及其他可能因某种原因被认为是沉浸式的
  • 您只能查询在同一desktop
  • 上运行的进程
  • 某些进程(例如bing maps的map.exe)以非沉浸式方式启动,并在之后的几秒钟内切换到沉浸式
相关问题