1

是否可以通过桌面程序的 WinAPI 功能打开或管理所有 Windows 8 应用程序(例如内置邮件或新闻应用程序)?

使用“管理”,我的意思是打开、关闭、对齐(向左和向右)或枚举 Windows 8 应用程序。

我知道应用程序可以注册特殊的 URI 方案,以便可以通过链接(可能还可能通过ShellExecute()和相关功能)打开它们,但如果它们不这样做呢?


我刚刚在 Win8 App Dev 博客中找到了Ashwin Needamangala的博客文章,其中涵盖了应用程序激活和使用 C++、WinAPI 和 COM 自动化生命周期状态:http: //blogs.msdn.com/b/windowsappdev/archive/2012/ 09/04/automating-the-testing-of-windows-8-apps.aspx

4

1 回答 1

2

枚举通过PackageManager类工作。可以使用IApplicationActivationManager接口打开应用程序。如果你是打开它的人并且你有一个句柄,你也可以在它上面调用TerminateProcess,但我没有尝试过那个。

编辑:我们开源了我们的apprunner 实用程序,它可以安装、运行和卸载包,并展示了 PackageManager 和 IApplicationActivationManager 的使用。

除此之外,从外部似乎无法进行其他交互(即捕捉/取消捕捉)。

于 2013-02-05T10:12:37.723 回答