德尔福 - 手指在笔记本电脑触摸板上的(x,y)位置

时间:2014-09-28 20:30:13

标签: delphi winapi touchpad

我试图在德尔福的笔记本电脑触摸板上获得手指的位置。不是光标在屏幕上的位置。所以我可以用它来绘图。这可能吗?我怎样才能做到这一点?是否有任何Windows API或任何组件?

感谢您的帮助。

更新

我找到了一款适用于联想触控板的软件。它只显示手指在触摸板上的位置,PEiD表示它是用Visual C ++编写的。所以我认为这是可能的事情,但正如David Heffernan所说,这取决于触摸板的制造商及其特定的硬件。

enter image description here

2 个答案:

答案 0 :(得分:4)

巧合的是,我在最后30分钟就研究了这件事。

Windows通过touch and gestures API支持此功能。这些是在Windows 7中引入的,但触摸板驱动程序在Windows 8到达之前并没有提供必要的支持,并使其成为徽标要求。

Synaptics和阿尔卑斯似乎是主要的触摸板制造商,他们都发布了Windows 8的更新驱动程序,这些驱动程序也适用于Windows 7." Multitouch"是要搜索的关键字。这是依赖于触摸板模型的;我无法找到旧阿尔卑斯山设备的更新。

简而言之,这应该适用于专为Windows 8而设计的#34;笔记本电脑。它可以在Windows 7上运行,如果它没有,你可以获得更新的驱动程序。

答案 1 :(得分:2)

简短的回答通常是否定的,这是不可能的。触摸板驱动程序存在于操作系统中,使得它们看起来像鼠标一样。绝对坐标不可用。对于此应用程序,您需要一个合适的触摸屏设备或平板电脑,至少在您正在寻找操作系统支持的通用解决方案时。

当然,某些触摸板可能通过特定于硬件的驱动程序提供此信息,但您需要支持(即使这是一个选项)每个设备独立。 Synaptics,例如,provides an SDK和可以公开绝对坐标信息的驱动程序。

对于支持“Pen and Touch”输入的平板电脑或其他全屏数字化仪,此信息通常通过WM_TOUCH消息获取。一些高级触摸板可能支持此功能 - 您始终可以查询以发现支持的功能。对于那些,您必须注册您的应用程序的窗口以接收触摸消息,如下所示:

Getting Started with Windows Touch Messages

收到WM_TOUCH消息后,您可以立即将触摸手柄传递给GetTouchInputInfo来获取详细信息。返回一个TOUCHINPUT结构数组,每个结构都包含有关数字化仪表面上每个活动触摸点的信息。