c++ - 如何以编程方式启动 Windows 应用商店应用程序?

标签 c++ xaml windows-8 windows-store-apps

我刚刚构建了 Visual Studio 2012 提供的项目模板之一(可通过“新建项目”对话框中的模板 -> 其他语言 -> Visual C# -> Windows Store 访问“拆分应用程序 (XAML)”模板)。

我可以从 Visual Studio 2012 执行该应用程序,并且可以从 Windows 8 开始屏幕启动它 - 但如果我尝试直接启动生成的可执行文件(例如通过 Windows 资源管理器或从命令 shell),则完整的- 打印屏幕错误消息“此应用程序无法在您的电脑上运行”。

通过 Process Explorer 查看应用程序的运行实例表明,它 a) 仅链接到 .NET 运行时 MSCOREE.DLL,b) 它通过如下命令行调用:

"[..] \bin\Debug\AppX\WindowsStoreSample.exe" -ServerName:App.AppXgsxd2athqtr03f55we0938hcn632we3k.mca

我的实际问题是:以编程方式启动此类应用程序的正确方法是什么?我会使用普通的 CreateProcess 然后尝试组装如上所示的命令行吗?如果是这样,我如何确定正确的 -ServerName 参数?或者还有其他方法来启动此类应用程序吗?

最佳答案

启动 Windows 应用商店应用程序的正确方法是使用 IApplicationActivationManager界面。这也是 Visual Studio 本身用于启动应用程序的方式。接口(interface)上的所有方法都有一个 DWORD 输出参数,它可以获取新启动进程的 PID。

关于c++ - 如何以编程方式启动 Windows 应用商店应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17944718/

相关文章:

c# - 使用堆栈面板 - 垂直 + 水平

c# - 如何在 3D 透视图中对 windows 8 UIElements 进行 Z 索引(Z 排序)?

c++ - 什么时候关闭 CAsyncSocket 是安全的?

c++ - 与SSE2相比,AVX为什么不能进一步提高性能?

c++ - 用于提取存档文件的库

c# - 单击按钮时隐藏弹出按钮 (DelegateCommand)

c++ - unordered_set如何确定c++中的插入顺序?

c# - DataGridComboBox 列和代码中的绑定(bind)

c++ - 使用 C++/CX for Desktop Windows 的 XAML 应用程序

windows-8 - 如果从 foursquare 传递到 Facebook,WebAuthenticationBroker 将挂起