WndProc Key Spammer implementation issues

2 weeks ago 15
ARTICLE AD BOX

This code is already doing a great job at spamming regular keys:

std::set<WPARAM> keys; std::set<WPARAM> movement = { 'W', 'A', 'S', 'D', VK_RETURN, VK_CONTROL, VK_SHIFT, '/' }; std::set<WPARAM> 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); }

...but i struggle to make it work with XBUTTON's since the application rejects them for whatever reason, and key modifiers like CONTROL and SHIFT.

Any tips?

Read Entire Article