是否可以通过桌面程序中的WinAPI功能打开或管理所有Windows 8应用(例如内置邮件或新闻应用)?< / p>
使用' manage ',我的意思是打开,关闭,快照(向左和向右)或枚举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
答案 0 :(得分:2)
枚举通过PackageManager类工作。 使用IApplicationActivationManager界面可以打开应用程序。 如果你是那个打开它并且你有一个手柄的人,你也可以在它上面调用TerminateProcess,但我还没试过那个。
编辑:我们开源apprunner utility,它可以安装,运行和卸载软件包,并显示PackageManager和IApplicationActivationManager的使用。
除此之外,其他互动(即捕捉/取消)似乎无法从外部进行。