Проблемы реализации WndProc Key SpammerC++

Программы на C++. Форум разработчиков
Anonymous
Проблемы реализации WndProc Key Spammer

Сообщение Anonymous »

Этот код уже отлично справляется с рассылкой обычных ключей:

Код: Выделить всё

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);
}
...но мне трудно заставить его работать с XBUTTON, поскольку приложение по какой-либо причине отклоняет их, а также модификаторы клавиш, такие как CONTROL и SHIFT.
Есть какие-нибудь советы?>

Подробнее здесь: https://stackoverflow.com/questions/799 ... ion-issues

Вернуться в «C++»