【问题标题】:WinRT and build-in Windows 8 AppsWinRT 和内置 Windows 8 应用程序
【发布时间】:2011-11-20 12:07:40
【问题描述】:

可以使用新的 WinRT 构建非 Metro Windows 应用程序(例如:资源管理器),还是必须仍然基于 Win32?

【问题讨论】:

  • 我认为这是非常主题,因为我想知道同样的事情。
  • 你为什么要重写一百万行已经工作的代码?
  • 也许要澄清一下,您是在问,“可以使用新的 WinRT 构建非 Metro 的 Windows 应用程序吗?”
  • @jon 我不会评论这个问题是否离题。但是,您想知道同样的事情这一事实并没有成为 SO 的主题。
  • 当然,将我评论中的“as”替换为逗号。我只是不确定这与代码无关,不是定量的,也不是主观的。

标签: windows winapi windows-8 windows-runtime


【解决方案1】:

我在 //Build/ 的“咨询专家”会议期间提出了这个问题。答案是“是的,在合理范围内。当从桌面应用程序调用时,并非所有 WinRT api 都会起作用 - 例如,任何特定于 Metro 的 API 都会失败。没有明确的列表列出哪些可从桌面(非 Metro)应用程序工作。 "

编辑: documentation 似乎已更新为提供桌面上可用的 WinRT api 列表。

【讨论】:

  • UI相关的东西(Windows.UI.Xaml)肯定不行。
  • 很明显,WinRT 和 Win32 使用相同的核心系统内部,但 WinRT 不是基于 Win32 构建的
  • @DmitrySychov 我阅读了这篇文章以及它引用的几篇文章。我从他们那里得到的消息是“Win32 没有死”,这与“WinRT 是 Win32 的包装器”有很大不同。我确实在主要文章中看到了一些关于整个 WinRT 是 explorer.exe 的包装的说法,坦率地说,这有点奇怪。
  • 一些 Windows 运行时 API 是现有 Win32 API(例如 XML 和传感器 API)的精简包装。某些 Windows 运行时 API 是全新的(XAML API 和输入堆栈)。所以说 Windows 运行时是 Win32 的包装器是不正确的,但确实有部分 Windows 运行时是在 Win32 之上分层的。
  • @CodyC 试试this page的尾部。
【解决方案2】:

来自“Dev Center - Metro style apps

版主于 2011 年 11 月 3 日星期四凌晨 1:16 发布的置顶帖

我们收到了许多关于这方面的询问。 该文档将作为 Windows 8 项目扩展 进展到包括更多 API 特定的细节。有可能 从桌面应用程序使用 WinRT。 WinRT API 可能绑定到 Metro 样式应用程序、桌面应用程序或两者都可用。 文档将列出哪些环境(桌面、Metro 风格或 两者)一​​个给定的 API 工作。注意:自定义 WinRT 组件仅 在 Metro 风格应用程序中受支持。 在 Metro 风格应用程序中不受支持。 桌面应用程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-28
    • 2012-12-14
    • 2015-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多