zhangliren
驱动牛犊
驱动牛犊
  • 注册日期2011-08-03
  • 最后登录2011-08-06
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望31点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1649回复:0

鼠标过滤器驱动程序的坐标问题

楼主#
更多 发布于:2011-08-04 00:12
<DIV id=read_tpc mb10?>我的目标是在鼠标过滤器驱动程序中获得当前鼠标的屏幕坐标,方法是在IRP_MJ_READ的完成例程中获得MOUSE_INPUT_DATA,但是发现在一些机器上MOUSE_INPUT_DATA.Flags为MOUSE_MOVE_ABSOLUTE,这时很容易将坐标转换成屏幕坐标。但是另一些机器上MOUSE_INPUT_DATA.Flags为MOUSE_MOVE_RELATIVE,此时我尝试先将鼠标强行移动到屏幕左上角原点(g_uAbsoluteX = g_uAbsoluteY = 0);,然后开始根据MOUSE_INPUT_DATA中的坐标移动值来累积计算当前屏幕坐标(g_uAbsoluteX += mouse.LastX,g_uAbsoluteY += mouse.LastY),结果发现累积的数值不能与屏幕实际光标位置一致。做过类似工作的朋友请指示下,MOUSE_MOVE_RELATIVE时怎样获得鼠标当前坐标?
游客

返回顶部