【问题标题】:How to catch mouse moves outside of screen boundaries如何捕捉鼠标在屏幕边界之外的移动
【发布时间】:2012-12-15 19:57:49
【问题描述】:

我的应用程序在按下事件时捕获鼠标,并依赖于与当前鼠标指针位置(可见指针)没有直接关系的鼠标移动。所以数学是基于鼠标的初始点和相对点,并且视觉反馈在视觉上没有链接到可见的鼠标指针,所以指针也可以完全隐藏。但是当我到达屏幕边界时,传入的坐标被剪裁了。它看起来很合理,因为指针也不移动,但我想继续获取有关鼠标相对移动的信息,即使可见指针到达屏幕边界。这可能吗?也许可以从驱动程序访问原始鼠标信息?

【问题讨论】:

  • 通常,您可以通过不断地将鼠标光标位置重置到窗口的中心来做到这一点。
  • @Jan_Dvorak,看起来这可以工作,虽然我发现如果我在同一个消息处理程序中使用 SetCursorPos 不断重置位置,我必须重新计算来自 WM_MOUSEMOVE 的坐标

标签: winapi mouse


【解决方案1】:

基本上Raw Input Api 服务于我的目标。需要使用 RegisterRawInputDevices 注册窗口并获取 WM_INPUT 消息。传入的数据通过不受屏幕边界限制的相对鼠标移动。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-09
    • 2013-09-22
    • 1970-01-01
    相关资源
    最近更新 更多