c++ - 通过 WinAPI 打开/关闭/管理 Windows 8 应用程序

标签 c++ windows winapi windows-8

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

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

我知道应用程序可以注册特殊的 URI 方案,因此它们可以通过链接打开(并且可能通过 ShellExecute() 和相关函数),但如果它们不这样做怎么办?


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

最佳答案

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

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

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

关于c++ - 通过 WinAPI 打开/关闭/管理 Windows 8 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14697252/

相关文章:

c++ - 预构建代码块中的 .rc 到 .o 转换,访问文件的权限被拒绝

java - 如何使用 jni 将数据从 java InputStream 移动到 C++ 中的 char *?

c++ - c 中的错误,但不是 c++ 中的错误

windows - 跟踪对 Delphi 中的文件夹所做的更改

c - 如何使用 MinGW 从 Windows XP 的 C 语言中的函数指针获取函数名称?

c# - 以编程方式在屏幕的一半上最大化窗口

c++ - 从文件名中删除扩展名的简单方法?

c++ - 如何在编译时判断一个类型是否派生自模板类?

c++ - 关闭时如何在控制台应用程序中中止 getchar

c++ - 尝试使用带有 C++ 的 MoveFile 移动文件时出现 ERROR_INVALID_NAME