【问题标题】:How to use Winrt API's in c for creating libraries?如何在 c 中使用 Winrt API 来创建库?
【发布时间】:2012-11-27 07:20:55
【问题描述】:

我有一个使用 Win32 API 的现有 C 库,但它在 Windows 8 Metro Store 应用程序中不受支持。 我尝试调用 WinRT API 但失败了,有什么办法可以在 C 中使用 WinRT api。

【问题讨论】:

  • 我不是在创建 COM 组件我正在创建一个库
  • 您能否详细说明您正在尝试做什么 - 例如,您是否正在寻找 WinRT 等效于 Win32 API 调用?
  • 我有一个专为 win32 构建的库,但某些 API 无法在商店应用程序中运行。
  • 我需要将它们迁移到 winRT

标签: c windows-8


【解决方案1】:

由于这个问题虽然非常笼统,但似乎具体是关于WinRT 上的SHGetSpecialFolderPath(),我将解决这个问题:

您发现 WinRT (Metro) 应用在沙盒环境中运行,该环境仅支持有限的 win32 api 子集。

SHGetSpecialFolderPath 在 MSDN 上的正式名称为 deprecated,其功能不适用于 WinRT 应用程序。最接近的等价物是 ApplicationData 类。不幸的是,从C 调用它很复杂。我建议您编写一个 C++ 帮助程序,您的库可以调用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-14
    • 2012-10-28
    • 2019-11-07
    • 1970-01-01
    • 2012-12-03
    • 1970-01-01
    • 2012-09-15
    • 1970-01-01
    相关资源
    最近更新 更多