对mouse_even模拟鼠标操作函数的一点认识

今天看了一篇mouse_event函数用于模拟鼠标选择文本的文章,学习了一下这个函数。有一点认识记录如下:

VOID mouse_event(
  DWORD
dwFlags, // 用来指示模拟怎么养的鼠标动作,并且可以指定鼠标动作的位置参数是绝对量还是相对量
  DWORD dx,      // 水平方向的鼠标位置移动量
  DWORD dy,      // 垂直方向的鼠标位置移动量
  DWORD dwData// 鼠标滚轮的移动量
  DWORD dwExtraInfo
                 // 32位的附加信息
);

1.   dwFlags这个量可以设置MOUSEEVENTF_ABSOLUTE来指定dx,dy表示的是绝对的位置改变量
2.   当dwFlags这个量设置了MOUSEEVENT_MOVE时,dx,dy的值取值在0~65,535之间,此时的坐标为整个屏幕的坐标,也就是说(0,0)对应的是屏幕左上角,(65,535,65,535)对应的是屏幕右下角。所以,对于不同分辨率的屏幕应该采取换算。例如1024×768的分辨率下,(x,y)就应该换算成((65535/1024)*x, (65535/768)*y)

问题:
1.  似乎当MOUSEEVENT_MOVE被置位1时,dx和dy才有实际意义,否则,他们的值都不会对鼠标位置有影响。不知这点是否正确~~!
2.  当MOUSEEVENT_MOVE置位1时,可以配合其他的flag、如MOUSEEVENTF_LEFTDOWN一起使用,可以达到移动鼠标的效果,但是不知道这个坐标值是怎么算的,好像不是按照一个象素一个象素算的。难道是坐标映射模式的问题?我再看看吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值