如何在非触控 Windows 上测试支持触控的应用程序?

4
这个问题没有一个确定的答案(如下链接)。
我有一个桌面Windows应用程序,使用非Visual Studio环境(Delphi)开发,并在运行Windows 7虚拟机中,但其它标准桌面。我想测试一些触摸功能,因此想在桌面Windows上模拟触摸。你怎么做?
以下是其他链接给出的答案:
  • 使用Surface 2 SDK。仅安装在您有VS2010的情况下。(我目前已安装VS2013。)
  • 通过触摸注入API注入触摸事件。编写自己的触摸模拟器似乎有点出人意料,并且据报道,这仅适用于Windows 8。
  • 使用Windows模拟器。使用我的Visual Studio 2013安装,存在DLL文件但没有模拟器。谷歌搜索没有得到为何要安装它或与之一起安装的先决条件的结果。它可能(?)也仅适用于Windows Store应用程序,很难说。
还有其他一些回复依赖于使用Visual Studio。
那么,对于一个Windows 7桌面机器,使用一个非Visual Studio开发的应用程序,你如何模拟触摸?

我认为你实际上无法模拟多点触控。 - Warren P
单点触控怎么办?例如,使用鼠标模拟单个手指?基本上,任何方法都可以触发OnTouch事件,最好在Windows级别上(因为我想测试FMX和VCL应用程序,并尽可能地获得“真实”的输入 - 至少来自应用程序外部而不是内部)。 - David
因为我想测试完整的输入,即包括应用程序接收到的消息。我可以轻松地调用 OnTouch,但我所追求的是在高层次上(超过应用程序)模拟输入,以使我的应用程序不知道它是虚假的。 - David
由于您没有Windows的源代码,我认为答案是无法实现。 - Warren P
你可以使用Visual Studio实现。所以一定有办法。例如,我相信有一种模拟器可以将鼠标操作转换为触摸消息。 - David
显示剩余2条评论
1个回答

1
一种简单的解决方案是使用TActionList并将其与TGestureManager链接。在“手势”表单属性中选择一个手势并创建一个与组合框链接的新操作。
在TActionList中选择新创建的操作并将代码放入其中。
现在,您可以通过调用该操作来模拟手势。

谢谢,Sam。不幸的是,我想模拟OnTouch事件,而不是手势(虽然我知道它们使用相同的底层引擎;我假设如果手势有效,触摸也将有效,但我更喜欢确定一下)。 我更愿意在Windows级别而不是Delphi上进行模拟,因为这样我可以用触摸测试VCL和FMX应用程序。 - David

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接