【问题标题】:(How) Can I emulate touch events on Windows?(如何)我可以在 Windows 上模拟触摸事件吗?
【发布时间】:2017-05-19 06:49:34
【问题描述】:

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

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

WM_TOUCH 文档解释了 lParam 参数:

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

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

【问题讨论】:

    标签: c++ winapi touch multi-touch wm-touch


    【解决方案1】:

    您可能正在寻找Touch injection

    【讨论】:

    • 这看起来很完美 - 我很失望我自己没能找到它。非常感谢你挖掘这个!
    猜你喜欢
    • 1970-01-01
    • 2010-11-02
    • 1970-01-01
    • 1970-01-01
    • 2015-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多