Код: Выделить всё
UINT RawInputSize;
UINT Result;
Result = GetRawInputBuffer(NULL, &(RawInputSize), sizeof(RAWINPUTHEADER));
if (Result == -1)
{
DWORD ErrorCode = GetLastError();
return;
}
UINT AllocatedBufferByteCount = RawInputSize * 16;
RAWINPUT* RawInputBuffer = reinterpret_cast(malloc(AllocatedBufferByteCount));
UINT AllocatedBufferByteCountTwo = AllocatedBufferByteCount;
Result = GetRawInputBuffer(RawInputBuffer, &(AllocatedBufferByteCountTwo), sizeof(RAWINPUTHEADER));
if (Result == -1)
{
DWORD ErrorCode = GetLastError();
return;
}
UINT RawInputCount = Result;
RAWINPUT* RawInput = RawInputBuffer;
for (unsigned int i = 0; i < RawInputCount; ++i)
{
switch (RawInput->header.dwType)
{
case RIM_TYPEMOUSE:
{
this->UpdateMouse(RawInput->data.mouse);
break;
}
case RIM_TYPEKEYBOARD:
{
this->UpdateKeyboard(RawInput->data.keyboard);
break;
}
}
RawInput = NEXTRAWINPUTBLOCK(RawInput);
}
DefRawInputProc(&(RawInputBuffer), RawInputCount, sizeof(RAWINPUTHEADER));
< /code>
Этот код называется внешним корпусом wm_input < /code>. RawinputCount Что не так с этим кодом и почему мои результаты пусты?
Подробнее здесь: https://stackoverflow.com/questions/288 ... nputbuffer