2

我用 C++ 编写的用于测试目的的实用程序当前使用该SendInput函数来模拟用户输入,即鼠标和键盘事件。我现在想扩展我的程序,使其能够模拟触摸事件,这样我就可以验证测试程序WM_TOUCH是否正确处理例如消息(尽管该消息已被弃用,但我仍然想验证它是否被正确处理) . 我不需要能够将触摸事件发送到特定的HWND,只需将它们发送到桌面上的某些 X/Y 坐标就足以满足我的目的。

我考虑使用HARDWAREINPUT结构SendInput以及直接发送WM_TOUCH(或WM_GESTURE?)消息,但无论哪种情况,我都不清楚如何传递有关触摸事件在何处或如何执行的信息。

WM_TOUCH文档解释了该lParam论点:

包含一个触摸输入句柄,可用于调用 GetTouchInputInfo 以检索有关与此消息关联的触摸点的详细信息。

...但尚不清楚我是否以及如何自己分配这样的“触摸输入句柄”。它总是只是当前进程地址空间中的一个普通指针吗?hSource如果是这样,我应该为结构的字段使用什么值TOUCHINPUT

4

1 回答 1

4

您可能正在寻找Touch injection

于 2017-05-19T09:30:15.493 回答