GetPointerPenInfo 函数获取笔压 - 如何实现?

问题描述 投票:0回答:1

我正在尝试使用

GetPointerPenInfo()
功能读取手写笔的笔压(使用 Wacom Intuos 进行测试)。但是,
POINTER_PEN_INFO
结构中返回的压力值始终为 0。我是否需要与该函数一起使用任何其他函数,或者也许是使用 WinApi 来处理该问题的更好方法?任何有关笔压的帮助和经验将不胜感激。

windows winapi pen pressure
1个回答
0
投票

我知道这是一个老问题,但我在搜索我遇到的类似问题时发现了它。

GetPointerPenInfo 通常只适用于 PT_PEN 类型的指针。如果在非笔指针上调用 GetPointerPenInfo,则它将返回 0(意味着失败)。所以你应该先调用GetPointerInfo,检查它的pointerType是否为PT_PEN,然后调用GetPointerPenInfo。

在您的情况下,根据评论,由于您只收到鼠标指针更新,我会仔细检查笔压功能是否实际上在您的笔的其他程序中工作,特别是因为您提到了 Wacom ;就我而言,事实并非如此,这帮助我弄清楚我的 Wacom 平板电脑需要在其选项中启用 Windows Ink 才能获取 PT_PEN 指针更新。

如果结构中的某些其他值是 0,特别是如果在结构中的某个点之后它们全部为 0,我会检查以确保它们设置正确。就我而言,我是在 C# 中执行此操作,并且我的结构在某些位置没有正确设置,因此这些位置以及之后的所有内容都是 0。

© www.soinside.com 2019 - 2024. All rights reserved.