[CF Skills]如何编程模拟用户的触屏操作

 
如何编程模拟用户的触摸屏行为?似乎很有趣,这样做的意义在于有时候你可能需要通过不断的点击 N 次鼠标,或者在设备上进行实际的操作去完成某些测试,但是这完全可以使用 mouse_event API 响应触屏来 实现自动化的调试过程。

下面的代码演示了如何使用mouse_event来向系统发送触屏按键的行为。

[DllImport("coredll")]
privatestaticexternvoid mouse_event(MOUSEEVENTF dwFlags, int dx, int dy, int dwData, int dwExtraInfo);

[Flags()]
privateenum MOUSEEVENTF
{

//参照:ms-help://MS.MSDNQTR.v90.en/wceshellui5/html/wce50lrfmouseevent.htm
MOVE
= 0x1, /* mouse move */
LEFTDOWN
= 0x2, /* left button down */
LEFTUP
= 0x4, /*left button up */
RIGHTDOWN
= 0x8, /*right button down */
RIGHTUP
= 0x10, /*right button up */
MIDDLEDOWN
= 0x20, /*middle button down */
MIDDLEUP
= 0x40, /* middle button up */
WHEEL
= 0x800, /*wheel button rolled */
VIRTUALDESK
= 0x4000, /* map to entrire virtual desktop */
ABSOLUTE
= 0x8000, /* absolute move */
TOUCH
= 0x100000, /* absolute move */
}

publicvoid SendTap(int x, int y)
{
//
这里选择的是鼠标左键的点击

mouse_event(MOUSEEVENTF.LEFTDOWN | MOUSEEVENTF.ABSOLUTE,

(int)((65535 / Screen.PrimaryScreen.Bounds.Width)*x),

 (int)((65535 / Screen.PrimaryScreen.Bounds.Height) * y), 0, 0);

mouse_event(MOUSEEVENTF.LEFTUP, 0, 0, 0, 0);
}

需要注意的是,这里参数dydx并不是屏幕的坐标值(尽管他们有着相同的含义),dydx的值都是从0x00000xFFFF65535)之间的值,(0xFFFF,0xFFFF)表示屏幕的右下角。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
刚接触多点触摸屏程序,研究了几天,在网上找到了这个模拟器,特此在这里分享给朋友们。 flash也可以做出很炫的多点触摸应用程序,将来,多点触摸将广泛应用于显示器上,这是很让人兴奋的事情。 现在有人在开发用2个摄像头来实现多点触摸技术,而省去了昂贵的电阻屏、电容屏等硬件,大大节约了成本。 这样即使是普通的显示器,也可以实现触摸技术啦,又是件令人兴奋的事情。 =========================================================: 必装软件:要先安装adobe AIR,上网下载安装,10M左右。 http://get.adobe.com/cn/air/ 使用前的准备: 1、运行server.exe,打开连接器,连接3000端口. 2、运行SimTouch.exe,打开模拟器,一个透明的窗口,模拟触摸屏 3、运行test.exe,打开flash(AS3.0)应用程序,就是要在触摸屏上进行测试的程序。 如何使用: 1、校正位置:把模拟器放在flash程序的上层,拖动模拟器右下角,使2个程序窗口一样大。 2、点击模拟器,flash会做出反应。 3、按住shift,点击模拟器,模拟多点触摸屏。 4、放开shift,双击已生成的点,删除此点。 说明: 模拟器四个角都有隐藏按钮。使用很简单,就不做说明了。 此模拟器的优点,窗口是透明的,这个很重要,使用也不算麻烦。 2点触摸时,可以对flash图片进行放大,旋转。 AS3.0多点触摸程序及源文件可以到http://www.cyancdesign.com/category/cyanc-design/multi-touch/进行下载。 ========================================================= 这个flash多点触摸屏模拟器是透明的,很好用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值