0

(有关背景,请参阅为 SendMessage() 编写 WM_TOUCH 消息,Kinect 作为多点触控设备,它提出的问题与我的基本相同,但其接受的答案实际上并没有回答问题。棘手的一点是没有填写TOUCHINPUT结构但制作一个有效的触摸输入句柄。)

我想以一种令人讨厌的骇人听闻的方式模拟多点触控输入设备的存在,大致如下:

while (true) {
  choose locations etc. for simulated touches;
  PostMessage(GetForegroundWindow(), WM_TOUCH, nTouches, ...);
}

棘手的是标记为“...”的空间中的内容。从消息消费者的角度来看,MSDN 文档毫不奇怪,它WM_TOUCH说消息lParamWM_TOUCH

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

我可以很容易地制作,例如,一个结构数组TOUCHINPUT,这就是GetTouchInputInfo给你的。但这似乎与“触摸输入句柄”完全不同。(例如,触摸输入句柄必须是正确的东西才能传递给CloseTouchInputHandle,据称PostMessageSendMessage将这样做。)

用户代码是否有可能(官方或非官方!)生成可以传递给的有效触摸输入句柄PostMessage如果是这样,怎么做?

4

1 回答 1

0

Windows 8 有一个 TouchInjection API,用于在桌面环境中伪造触摸。

http://social.technet.microsoft.com/wiki/contents/articles/6460.simulating-touch-input-in-windows-8-using-touch-injection-api.aspx

于 2015-10-16T15:48:43.260 回答