gpt4 book ai didi

windows-phone-8 - Windows Phone 8 - 模拟触摸屏事件

转载 作者:行者123 更新时间:2023-12-04 08:27:14 27 4
gpt4 key购买 nike

模拟用户点击 Windows Phone 8 设备的触摸屏的最佳方法是什么?

我可以想象的一种方法是使用 native 代码来调用控制鼠标事件的 Win32 API 函数。这将假设触摸屏事件或多或少与鼠标事件相同,并且这些 API 函数是可访问的。有谁知道 WP8 是不是这样?

另一种方法是为 Windows Phone 提供类似 Android ADB 的东西。在 Android 上,可以使用 ADB 从 PC 控制设备并模拟触摸屏事件(例如通过 Monkeyrunner)。如果有像 ADB for Windows Phone 8 这样的工具,我还没有找到任何信息。

寻找解决方案的目的是在自动化测试过程中集成 Windows Phone 8 设备。

最佳答案

我发现在 Windows Phone 8 的 System32 文件夹中有一个名为 InputInjection.dll 的 DLL 文件(至少在我安装的模拟器图像中)。

该库包含以下功能:

  • ApiInject 初始化
  • ApiInjectTouchEvent
  • ApiInjectButtonEvent
  • ApiInjectEnableExclusive
  • ApiInjectUninitialize

  • InputInjection.dll in Dependency Walker

    做了一些研究,我发现有官方方法可以模拟 Windows 8 开发的触摸输入:
  • http://social.technet.microsoft.com/wiki/contents/articles/6460.simulating-touch-input-in-windows-8-preview-versions-using-touch-injection-api-en-us.aspx
  • http://msdn.microsoft.com/library/windows/desktop/hh802896(v=vs.85).aspx

  • 但是,用于 Windows 8 开发的函数在 Windows Phone 8 上不可用。但是这些函数的命名类似于我在 InputInjection.dll 中找到的函数:
  • InitializeTouchInjection 类似于 ApiInjectInitialize
  • InjectTouchInput 类似于 ApiInjectTouchEvent
  • (...)

  • 我无法找到有关 InputInjection.dll 及其功能的任何文档。这些函数也不会出现在 SDK 的头文件中。也许微软在 Windows Phone 开发期间使用这些函数在内部进行自己的测试。

    问题是:是否可以访问这个库并以某种方式调用这些函数?我猜这类似于在 iOS 上使用“私有(private) API”。我尝试了几种方法来通过使用 native C++ 代码的 Windows Phone 8 应用程序来实现这一点,但到目前为止我没有运气(基本原因是这些应用程序在 Windows Phone 上运行沙盒)。有什么方法可以在 Windows Phone 上运行二进制文件(可能通过调试桥或其他方式)?

    关于windows-phone-8 - Windows Phone 8 - 模拟触摸屏事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13764761/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com