#include <Windows.h>
#include <stdio.h>
static LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if ((wParam == WM_KEYDOWN || wParam == WM_KEYUP) && lParam != NULL)
{
if (((LPKBDLLHOOKSTRUCT)lParam)->vkCode == VK_OEM_MINUS)
{
return 1;
}
}
return CallNextHookEx(NULL, nCode, wParam, lParam);
}
int main()
{
HHOOK hHook = SetWindowsHookExW(WH_KEYBOARD_LL, LowLevelKeyboardProc, NULL, 0);
MessageBoxW(NULL, L"hooking", L"", MB_ICONEXCLAMATION | MB_SYSTEMMODAL);
UnhookWindowsHookEx(hHook);
return 0;
}
Соберите и запустите эту программу, вы обнаружите, что нигде не можете набрать '-' на экране.
Если это не работает для какого-либо целевого процесса, запустите эту программу с правами администратора.