返回顶部
首页 > 资讯 > 精选 >RAWINPUT-如何获取鼠标滚轮数据
  • 439
分享到

RAWINPUT-如何获取鼠标滚轮数据

RAWINPUT 2023-09-26 08:09:17 439人浏览 八月长安
摘要

要获取鼠标滚轮数据,可以使用windows的RAWINPUT api。以下是一种获取鼠标滚轮数据的方法:1. 使用ReGISterR

要获取鼠标滚轮数据,可以使用windows的RAWINPUT api。以下是一种获取鼠标滚轮数据的方法:
1. 使用ReGISterRawInputDevices函数注册原始输入设备。在注册时,指定RAWINPUTDEVICE结构体的参数。
``` c++
RAWINPUTDEVICE Rid[1];
Rid[0].usUsagePage = 0x01; // 鼠标
Rid[0].usUsage = 0x02; // 鼠标中键和滚轮
Rid[0].dwFlags = RIDEV_INPUTSINK;
Rid[0].hwndTarget = hwnd; // 接收消息的窗口句柄
if (!RegisterRawInputDevices(Rid, 1, sizeof(Rid[0]))) {
// 注册失败的处理
}
```
2. 在窗口的消息处理函数中,处理WM_INPUT消息。当接收到WM_INPUT消息时,可以使用GetRawInputData函数获取原始输入数据。
``` c++
case WM_INPUT:
{
UINT dataSize;
GetRawInputData((HRAWINPUT)lParam, RID_INPUT, NULL, &dataSize, sizeof(RAWINPUTHEADER));
char* buffer = new char[dataSize];
if (GetRawInputData((HRAWINPUT)lParam, RID_INPUT, buffer, &dataSize, sizeof(RAWINPUTHEADER)) != dataSize) {
// 获取输入数据失败的处理
}
RAWINPUT* raw = (RAWINPUT*)buffer;
if (raw->header.dwType == RIM_TYPEMOUSE) {
if (raw->data.mouse.usButtonFlags & RI_MOUSE_WHEEL) {
// 判断是否为鼠标滚轮数据
SHORT wheelDelta = (SHORT)raw->data.mouse.usButtonData;
// 处理鼠标滚轮数据
delete[] buffer;
return 0;
}
}
delete[] buffer;
}
break;
```
在上述代码中,我们首先获取原始输入数据的大小,然后分配一个缓冲区来存储数据。接着,我们使用GetRawInputData函数获取原始输入数据。然后,我们可以检查RAWINPUT结构体的dwType字段是否为RIM_TYPEMOUSE,以确定该输入是否为鼠标数据。如果是鼠标数据,我们可以检查usButtonFlags字段是否包含RI_MOUSE_WHEEL标志,以确定该输入是否为鼠标滚轮数据。如果是滚轮数据,我们可以使用usButtonData字段来获取滚轮的偏移量。
请注意,上述代码仅处理鼠标滚轮数据,并假定你已经创建了一个窗口并获得了该窗口的句柄(hwnd)。如果你需要处理其他类型的原始输入数据,可以修改使用的参数和处理逻辑。

--结束END--

本文标题: RAWINPUT-如何获取鼠标滚轮数据

本文链接: https://www.lsjlt.com/news/418264.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • RAWINPUT-如何获取鼠标滚轮数据
    要获取鼠标滚轮数据,可以使用Windows的RAWINPUT API。以下是一种获取鼠标滚轮数据的方法:1. 使用RegisterR...
    99+
    2023-09-26
    RAWINPUT
  • jQuery如何获取鼠标滚轮事件?
    这篇文章将为大家详细讲解有关jQuery如何获取鼠标滚轮事件?,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。jQuery 获取鼠标滚轮事件 jQuery 提供了多种方法来获取鼠标滚轮事件。这些事件可以用来...
    99+
    2024-04-02
  • jquery怎样获取鼠标滚轮滚动的距离
    在Web开发中,鼠标滚轮事件是一项非常常见且重要的功能。然而,在使用jQuery进行开发时,有可能遇到需要获取鼠标滚轮滚动的距离的情况。在这篇文章中,我们将探讨该如何使用jQuery获取鼠标滚轮滚动的距离。在开始之前,需要明确一点:鼠标滚轮...
    99+
    2023-05-18
  • mac鼠标滚轮相反如何解决
    本篇内容主要讲解“mac鼠标滚轮相反如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mac鼠标滚轮相反如何解决”吧! mac鼠...
    99+
    2023-03-19
    mac
  • jQuery如何设置鼠标滚轮事件?
    这篇文章将为大家详细讲解有关jQuery如何设置鼠标滚轮事件?,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。jQuery 设置鼠标滚轮事件 鼠标滚轮事件是在发生鼠标滚轮相关操作时触发的事件处理程序。jQu...
    99+
    2024-04-02
  • 电脑鼠标滚轮失灵如何修复
    今天小编给大家分享一下电脑鼠标滚轮失灵如何修复的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。尝试一:排除接口的接触不良由于鼠...
    99+
    2023-06-28
  • 如何屏蔽C#鼠标滚轮相关事件
    这篇文章主要介绍“如何屏蔽C#鼠标滚轮相关事件”,在日常操作中,相信很多人在如何屏蔽C#鼠标滚轮相关事件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何屏蔽C#鼠标滚轮相关事件”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-17
  • 电脑鼠标滚轮不能用如何修复
    本篇内容主要讲解“电脑鼠标滚轮不能用如何修复”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“电脑鼠标滚轮不能用如何修复”吧!按Win+R键,打开运行,输入regedit,回车进入注册表编辑器展开至...
    99+
    2023-06-28
  • win7鼠标没有滚轮设置如何解决
    今天小编给大家分享一下win7鼠标没有滚轮设置如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。win7鼠标没有滚轮设置...
    99+
    2023-07-01
  • javascript如何获取鼠标位置
    这篇文章主要介绍“javascript如何获取鼠标位置”,在日常操作中,相信很多人在javascript如何获取鼠标位置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java...
    99+
    2024-04-02
  • jQuery如何获取鼠标位置
    这篇文章给大家分享的是有关jQuery如何获取鼠标位置的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。获取鼠标位置<script type="text/j...
    99+
    2024-04-02
  • jQuery如何获取鼠标位置?
    这篇文章将为大家详细讲解有关jQuery如何获取鼠标位置?,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。jQuery获取鼠标位置 简介 jQuery是用于简化网页开发的流行JavaScript库。它提供了...
    99+
    2024-04-02
  • python如何获取鼠标点击坐标
    在Python中,可以使用`pyautogui`库来获取鼠标点击坐标。下面是一个示例代码:```pythonimport pyaut...
    99+
    2023-08-24
    python
  • 电脑鼠标滚轮不能使用要如何解决
    这篇“电脑鼠标滚轮不能使用要如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“电脑鼠标滚轮不能使用要如何解决”文章吧。调...
    99+
    2023-06-27
  • win7鼠标能用但是滚轮没反应如何解决
    这篇文章主要讲解了“win7鼠标能用但是滚轮没反应如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“win7鼠标能用但是滚轮没反应如何解决”吧!win7鼠标能用但是滚轮没反应解决方法方法...
    99+
    2023-07-01
  • jQuery如何获取鼠标的X和Y坐标
    小编给大家分享一下jQuery如何获取鼠标的X和Y坐标,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!取得鼠标的X和Y坐标$(document).mousemove...
    99+
    2023-06-27
  • jQuery如何实现鼠标滚轮控制图片缩放功能
    这篇文章主要为大家展示了“jQuery如何实现鼠标滚轮控制图片缩放功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jQuery如何实现鼠标滚轮控制图片缩放功能...
    99+
    2024-04-02
  • jquery如何实现横向纵向鼠标滚轮全屏切换
    这篇文章主要介绍jquery如何实现横向纵向鼠标滚轮全屏切换,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下html<!DOCTYPE html> &...
    99+
    2024-04-02
  • jquery如何禁止鼠标滚动
    本篇内容介绍了“jquery如何禁止鼠标滚动”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • 如何实现鼠标滚轮事件和Mac触控板双指事件
    小编给大家分享一下如何实现鼠标滚轮事件和Mac触控板双指事件,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1. 用哪个事件The wheel event fires when the us...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作