概述:
我需要通过进程/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/