(有关背景信息,请参阅Composing a WM_TOUCH message for SendMessage(), Kinect as a multi-touch device,该问题基本上与我的问题相同,但其接受的答案实际上并没有回答这个问题。棘手的一点是不填写TOUCHINPUT
结构,而是制作一个有效的触摸输入句柄。)
我想以令人讨厌的hackish方式模拟多点触控输入设备的存在,其概要如下:
while (true) {
choose locations etc. for simulated touches;
PostMessage(GetForegroundWindow(), WM_TOUCH, nTouches, ...);
}
棘手的一点就是标有“......”的空间。从WM_TOUCH
消息的消费者的角度编写的MSDN文档不出所料地说,lParam
消息的WM_TOUCH
是
一个触控输入句柄,可用于调用
GetTouchInputInfo
以检索有关此讯息的触点的详细信息。
我可以很容易地制作一个TOUCHINPUT
结构数组,这是GetTouchInputInfo
给你的结果。但这似乎与“触摸输入手柄”完全不同。 (例如,触摸输入句柄需要传递给CloseTouchInputHandle
,而PostMessage
或SendMessage
将会执行此操作。
是否可以(正式或非正式!)用户代码生成可以传递给PostMessage
的有效触摸输入句柄?如果是,如何?
答案 0 :(得分:0)
Windows 8有一个TouchInjection API,用于伪装桌面环境中的触摸。