【问题标题】:Auto Startup a Metro App自动启动 Metro 应用程序
【发布时间】:2012-08-10 03:17:18
【问题描述】:

我想编写一个 Windows 8 Metro 应用程序,它会在用户登录后自动启动。

对于桌面应用程序,我知道如何使用注册表项或复制指向启动文件夹的链接。在这种情况下,我正在寻找与最后一种方法等效的 Metro。因为我希望用户可以轻松删除它。

如何链接到我的(或任何)Metro 应用程序以将链接放在启动文件夹或类似的东西中?

(顺便说一下,系统应该首先向用户显示 Metro 开始屏幕,而不是我的应用程序。但他应该能够随时从活动应用程序选项卡(左键)中选择应用程序。)

【问题讨论】:

  • 您找到启动 Metro Apps 的应用了吗?还是你自己推出的?
  • @mxmissile。可悲的是,两者都不是。

标签: windows windows-8 microsoft-metro startup


【解决方案1】:

这是不可能的。即使您可以在启动时启动它 [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

【讨论】:

  • 只是好奇,桌面应用程序可以调用什么 API 来启动 Metro 应用程序?我一直在找这个,但一直没找到。
  • @JaredBienz-MSFT。对此的解决方案也将是我的答案的解决方案。
  • 我想要实现的是,用户将“能够随时从活动应用程序选项卡(左魅力)中选择应用程序”。在 Windows 8(预览版)系统上从屏幕左侧滑入以显示此活动应用列表。
  • 启动 Metro 应用程序有两种方式: URL,在清单中声明,您可以选择协议。有一个用于激活 Metro 应用程序的 COM 接口,它采用包名称。但是,我找不到它。需要明确的是,它仍然会导致启动屏幕显示。
  • 已更新。我仍然认为你不应该尝试这样做——这违背了地铁体验。该应用程序(如果用户使用它)距离起始页仅一步之遥。
猜你喜欢
  • 2014-07-05
  • 1970-01-01
  • 2014-04-23
  • 1970-01-01
  • 1970-01-01
  • 2013-02-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多