如何以编程方式启动Windows应用商店应用程序

How do I launch a Windows Store application programmatically?

本文关键字:应用 应用程序 Windows 启动 编程 方式      更新时间:2023-10-16

我刚刚构建了Visual Studio 2012提供的一个项目模板(可通过"新建项目"对话框中的templates->Other Languages->Visual C#->Windows Store访问的"拆分应用程序(XAML)"模板)。

我可以从Visual Studio 2012执行该应用程序,也可以从Windows 8启动屏幕启动它,但如果我尝试直接启动生成的可执行文件(例如,通过Windows资源管理器或命令外壳),则会打印一条全屏错误消息,说"此应用程序无法在您的电脑上运行"。

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

"[..] binDebugAppXWindowsStoreSample.exe" -ServerName:App.AppXgsxd2athqtr03f55we0938hcn632we3k.mca

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

启动Windows应用商店应用程序的正确方法是使用IApplicationActivationManager界面。这也是VisualStudio本身用于启动应用程序的功能。接口上的所有方法都有一个DWORDout参数,它可以为您获取新启动进程的PID。