如何跟踪WinRT应用程序(在Win32中很简单)?

Pio*_*app 8 windows windows-8 windows-runtime

在"旧"时代,我为Windows用户创建了一个简单的工具,它跟踪他们在计算机前面所做的事情(简单的活动监视器).我使用的是Win32 api和GetForegroundWindow,GetWindowThreadProcessId等函数.

昨天我安装了新的Windows 8并且厌倦了运行我的程序.我获得了50%的成功:对于"经典"桌面,它总是像以前一样工作:).对于Metro UI我只有一个应用程序:WWAHost :(没有任何细节.

所以我的问题是:有没有办法在Metro UI中跟踪活动应用程序?感谢帮助

更新:我正在尝试从Win32访问Metro UI应用程序,我知道从另一个Metro应用程序访问Metro应用程序是不可能的

Col*_*inE 0

我确信这是不可能的。对于 Windows 8“Metro”,只有一个应用程序处于活动状态。当最顶层的应用程序正在运行时,所有其他应用程序将处于挂起状态。这使得编写监视当前正在执行的其他应用程序的应用程序变得不可能。

请参阅有关 Windows 8 应用程序生命周期的大量文章

  • 显然,从桌面程序枚举 Metro 应用程序是可能的,因为任务管理器可以做到这一点。我不熟悉任何新的 WinRT API,但肯定有一些用于应用程序枚举的东西。 (2认同)