我尝试使用GetPointerPenInfo()
函数从手写笔读取笔压(使用Wacom Intuos测试)。然而,POINTER_PEN_INFO
结构中返回的压力值始终为0。我是否需要使用任何其他函数沿着使用此函数,或者使用WinApi更好地处理此问题?任何有关笔压的帮助和经验都将不胜感激。
我尝试使用GetPointerPenInfo()
函数从手写笔读取笔压(使用Wacom Intuos测试)。然而,POINTER_PEN_INFO
结构中返回的压力值始终为0。我是否需要使用任何其他函数沿着使用此函数,或者使用WinApi更好地处理此问题?任何有关笔压的帮助和经验都将不胜感激。
1条答案
按热度按时间vom3gejh1#
我知道这是一个老问题,但我发现它,而寻找类似的问题,我有。
GetPointerPenInfo通常只对PT_PEN类型的指针起作用。如果对非笔型指针调用GetPointerPenInfo,那么它将返回0(意味着它失败了)。所以你应该先调用GetPointerInfo,检查它的pointerType是否为PT_PEN,然后调用GetPointerPenInfo。
在您的情况下,基于评论,因为您只接收鼠标指针更新,我会仔细检查笔压力功能是否在其他程序中使用您的笔,特别是因为您提到了Wacom;在我的情况下,它不是,这帮助我弄清楚我的Wacom平板电脑需要在其选项中启用Windows Ink才能获得PT_PEN指针更新。
如果你的结构体中的其他一些值为0,特别是如果它们在你的结构体中的某个点之后都为0,我会检查以确保它们被正确设置。在我的例子中,我是在C#中这样做的,我的结构体在某些位置没有正确设置,所以这些位置和之后的所有值都为0。