我用C ++编写的用于测试目的的实用程序当前使用SendInput
函数来模拟用户输入,即鼠标和键盘事件。我现在想扩展我的程序,以便它能够模拟触摸事件,这样我就可以验证测试的程序处理例如WM_TOUCH
消息正确(虽然该消息is deprecated,我仍然想验证它是否正确处理)。我不需要能够将触摸事件发送到特定的HWND
,只需将它们发送到桌面上的某些X / Y坐标就足够了。
我考虑将HARDWAREINPUT
结构与SendInput
一起使用,以及直接发送WM_TOUCH
(或WM_GESTURE
?)消息,但在任何一种情况下,我都不清楚传递有关触摸事件的执行位置或方式的信息。
WM_TOUCH
文档解释了lParam
参数:
包含一个触摸输入句柄,可用于调用GetTouchInputInfo以检索有关与此消息关联的触摸点的详细信息。
...但我不清楚自己是否以及如何分配这样的“触摸输入句柄”。它总是只是当前进程的地址空间中的普通指针吗?如果是,我应该对TOUCHINPUT
结构的hSource
字段使用什么值?