[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)表示屏幕的右下角。

posted on 2008-02-03 21:19 Freesc Huang 阅读(658) 评论(6) 编辑 收藏

评论

#1楼 2008-07-08 14:54 roc196[未注册用户]

加个timer可以冒充hopper了~~
呵呵~~~
 回复 引用   

#2楼[楼主] 2008-07-08 20:19 fox23      

@roc196
极少用hopper///
 回复 引用 查看   

#3楼 2009-04-05 09:02 TTCOOL      

请问,怎么能实现滑动手势啊???

像UCWeb那样的浏览体验……

谢谢啦~~~~
 回复 引用 查看   

#4楼[楼主] 2009-04-05 10:51 Freesc Huang      

@TTCOOL
用一个点的序列记录用户的笔迹, 设个阈值判断一下坐标变化.不过效率没有iphone那么高, 两者触摸屏不同.
 回复 引用 查看   

#5楼 2009-04-05 17:59 TTCOOL      

多谢 :-)  回复 引用 查看   

<2012年2月>
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910

公告

These postings are provided "AS IS" with no warranties
and confer no rights.


Locations of visitors to this page

Blog Keywords
Embedded System,Visual Studio,.Net Framework,.Net Compact Framework,.Net Micro Framework,Windows Mobile,Windows Embedded CE,Emulator,WCF,CLR,Design & Pattern,C/C++,C#,Matlab,Algorithms
昵称:Freesc Huang
园龄:4年11个月
粉丝:32
关注:4

统计

  • 随笔 - 197
  • 文章 - 0
  • 评论 - 840

搜索

 

随笔分类(227)

随笔档案(197)

Blogs

Link

积分与排名

最新评论

阅读排行榜

评论排行榜

推荐排行榜