Raw Input 怎么获取鼠标
Raw Input 是一种 Windows API,用于通过输入设备接收原始输入数据。要获取鼠标的 Raw Input 数据,可以按照以下步骤操作:
-
使用 RegisterRawInputDevices 函数注册要接收的输入设备类型,包括鼠标。
-
使用 GetRawInputData 函数获取输入数据。
-
解析获取的输入数据,以获取鼠标事件。
以下是一个示例代码,用于获取鼠标 Raw Input 数据:
#include <windows.h>
#include <iostream>
int main() {
RAWINPUTDEVICE Rid[1];
Rid[0].usUsagePage = 0x01;
Rid[0].usUsage = 0x02;
Rid[0].dwFlags = RIDEV_INPUTSINK;
Rid[0].hwndTarget = NULL;
if (RegisterRawInputDevices(Rid, 1, sizeof(RAWINPUTDEVICE)) == FALSE) {
std::cout << "Failed to register raw input devices.\n";
return 1;
}
while (true) {
RAWINPUT raw;
UINT size = sizeof(RAWINPUT);
if (GetRawInputData((HRAWINPUT)INVALID_HANDLE_VALUE, RID_INPUT, &raw, &size, sizeof(RAWINPUTHEADER)) != -1) {
if (raw.header.dwType == RIM_TYPEMOUSE) {
std::cout << "Mouse movement detected.\n";
}
}
}
return 0;
}
原文地址: https://www.cveoy.top/t/topic/bQ4W 著作权归作者所有。请勿转载和采集!