【问题标题】:How to access the GetDoubleClickTime Win32 API function from a WinUI 3.0 Runtime Component library如何从 WinUI 3.0 运行时组件库访问 GetDoubleClickTime Win32 API 函数
【发布时间】:2022-01-13 05:09:43
【问题描述】:

我正在尝试使用 C++ 从使用“Windows 运行时组件 (WinUI 3)”Visual Studio 模板创建的新项目中调用 GetDoubleClickTime Win32 API 函数。

为此,我将#include <Windows.h> 添加到pch.h 文件中,然后简单地调用上述函数。但是,之后我收到以下编译器错误:error C3861: 'GetDoubleClickTime': identifier not found

根据模板描述,该项目应创建一个可在桌面和 UWP 应用中使用的库。我知道不能从 UWP 调用 GetDoubleClickTime 函数。但它必须适用于桌面应用程序。

我怎样才能做到这一点?

【问题讨论】:

    标签: c++-winrt winui-3 winrt-component


    【解决方案1】:

    显然,它在幕后创建了一个沙盒 UWP 项目。请参阅 this GitHub issue 并在对话的最底部查看 @sylveon 的 cmets,了解潜在的修复/工作。

    您可以立即编辑 vcxproj 的全局 PropertyGroup 并添加这两个指令,以强制 UWP 项目使用桌面 API 集,并链接桌面 CRT(无需携带 VCRT 转发器,它们是老实说,这是一个可怕的黑客)

        <_NoWinAPIFamilyApp>true</_NoWinAPIFamilyApp>
        <_VC_Target_Library_Platform>Desktop</_VC_Target_Library_Platform>
    

    A另外,似乎仅设置 &lt;AppContainerApplication&gt;false&lt;/AppContainerApplication&gt; 也可以

    【讨论】:

      猜你喜欢
      • 2021-11-02
      • 1970-01-01
      • 1970-01-01
      • 2020-02-23
      • 1970-01-01
      • 2011-03-29
      • 2020-12-15
      • 2015-08-18
      • 1970-01-01
      相关资源
      最近更新 更多