Код: Выделить всё
std::set keys;
std::set movement = { 'W', 'A', 'S', 'D', VK_RETURN, VK_CONTROL, VK_SHIFT, '/' };
std::set mods = {VK_CONTROL,VK_SHIFT};
int spamrate = 15;
LRESULT CALLBACK MyWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
switch (uMsg) {
case WM_KEYDOWN:
if (lParam != 0x00000001 && lParam != 0xC0000001 && !movement.count(wParam)) {
keys.insert(wParam);
SetTimer(hWnd, (UINT_PTR)wParam, spamrate, NULL);
}
break;
case WM_KEYUP:
if (lParam != 0xC0000001) {
keys.erase(wParam);
KillTimer(hWnd, (UINT_PTR)wParam);
}
break;
case WM_TIMER:
PostMessageW(hWnd, WM_KEYDOWN, wParam, 0x00000001);
PostMessageW(hWnd, WM_KEYUP, wParam, 0xC0000001);
return 0;
}
return CallWindowProc(oWndProc, hWnd, uMsg, wParam, lParam);
}
Есть какие-нибудь советы?>
Подробнее здесь: https://stackoverflow.com/questions/799 ... ion-issues