windows-8 - 通过PID检测在WinRT模式下运行的应用程序

标签 windows-8 microsoft-metro windows-runtime

概述:
我需要通过进程/PID 检测给定的应用程序是否正在 WinRT(又名“Metro”)模式下运行。有什么好的方法吗?

失败的尝试和观察:

  • OpenProcess() 并调用 Call GetPackageId()检查!= APPMODEL_ERROR_NO_PACKAGE:这似乎适用于某些进程,而其他进程(例如在 Metro 模式下运行的 Chrome)则无法通过检查。
  • Metro 应用似乎始终由 svchost.exe 托管(例如其父应用)

有什么想法吗?请省略任何“不要这样做”或“为什么?”回答,因为它们对这个特定问题没有帮助。

最佳答案

IsImmersiveProcess如果进程在 Metro 模式下运行,将返回 true。请注意,如果检测应用程序作为服务运行,则此调用始终返回 false。

关于windows-8 - 通过PID检测在WinRT模式下运行的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12168113/

相关文章:

configuration - 有没有办法在 Windows Store 应用程序的 ApplicationSettings 中存储自己的类的实例?

wpf - Windows 8 WPF 应用程序

Windows 8 Metro 应用程序(网格应用程序)过渡时出现黑色闪烁

cryptography - WinRT 流加密

ruby-on-rails - Rails 3.2 ActionView::Template::Error javascript_include_tag

ios - Metro 风格应用程序是否可移植到 iphone 和 ipad 以及 Web 应用程序?

c# - 在 WebView Metro Style 应用程序中加载本地 html 文件

wcf - Windows 8 Metro RSA 加密 : AsymmetricKeyAlgorithmProvider ImportPublicKey Fails

c# - 是否有任何 T4 模板或自定义工具可以从 .resw 文件生成类?

windows-runtime - Windows 8 WinRT 后台任务时间分辨率