我想编写一个在用户登录后自动启动的 Windows 8 Metro 应用程序。
对于桌面应用程序,我知道如何使用注册表项或将链接复制到启动文件夹。在这种情况下,我正在寻找与最后一种方法等效的 Metro。因为我希望用户可以轻松删除它。
如何链接到我的(或任何)Metro App 以将链接放在启动文件夹或类似的东西中?
(顺便说一句,系统应该首先向用户显示 Metro 开始屏幕,而不是我的应用程序。但他应该能够随时从活动应用程序选项卡(左键)中选择应用程序。)
我想编写一个在用户登录后自动启动的 Windows 8 Metro 应用程序。
对于桌面应用程序,我知道如何使用注册表项或将链接复制到启动文件夹。在这种情况下,我正在寻找与最后一种方法等效的 Metro。因为我希望用户可以轻松删除它。
如何链接到我的(或任何)Metro App 以将链接放在启动文件夹或类似的东西中?
(顺便说一句,系统应该首先向用户显示 Metro 开始屏幕,而不是我的应用程序。但他应该能够随时从活动应用程序选项卡(左键)中选择应用程序。)
这是不可能的。即使您可以在启动时启动它 [1],该应用程序也会在后台暂停。此外,所有 Metro 应用程序在启动时都会显示启动画面。
你想达到什么目的?如果它运行代码,后台任务将执行此操作,并且不需要您的应用程序开始被启动。
如果它进入 MRU 列表,那么这是自动管理的,但系统,即使你的应用程序在那里,它也可以随时终止,并从列表中老化。
如果您不想创建单独的启动机制,您可以注册一个协议处理程序 - 例如。Myapp://stuff - 并使用标准 ShellExecute 函数打开它以启动您的应用程序。
请注意,您不能捆绑此应用程序并将其放在 appx 包中的启动组中。它必须从 appx 本身带外传递。此外,您无法停止显示初始屏幕。
[1] 因为您还要求做一些在 win 8 商店应用程序包中不能做的事情,您可以创建另一个 exe,它可以使用支持的 API 来启动 Metro 应用程序。将此应用程序放在启动组中将具有您想要的行为。您需要的 API:http: //msdn.microsoft.com/en-us/library/windows/desktop/Hh706903 (v=vs.85).aspx