<分区>
GetRawInputData 适用于 x86 构建,但不适用于 x64。
UINT32 dwSize = 40;
static BYTE lpb[40];
GetRawInputData((HRAWINPUT)lparam, RID_INPUT, lpb, &dwSize, sizeof(RAWINPUTHEADER));
我用它来获取鼠标输入。在 x86 构建中,我得到了正确的值,但在 x64 上,它为 lLastX 和 lLastY 返回 0。
RAWINPUT* raw = (RAWINPUT*)lpb;
if (raw->header.dwType == RIM_TYPEMOUSE)
{
int xPosRelative = raw->data.mouse.lLastX;
int yPosRelative = raw->data.mouse.lLastY;
...
我几乎都在使用 Microsoft 网站上的代码,所以我不确定从哪里开始。谷歌没有帮助。谢谢!