Используйте SetWindowsHookEx для перехвата событий клавиатуры
SetWindowsHookEx(WH_KEYBOARD_LL, HookCallback, NULL, 0)
С помощью этого кода попытайтесь предотвратить блокировку p c
LRESULT __stdcall HookCallback(int nCode, WPARAM wParam, LPARAM lParam)
{
if (nCode >= 0)
{
if (wParam == WM_KEYDOWN || wParam == WM_SYSKEYDOWN)
{
kbdStruct = *((KBDLLHOOKSTRUCT*)lParam);
// Winkey or l
if (kbdStruct.vkCode == VK_LWIN || kbdStruct.vkCode == 0x4C)
return 1;
}
}
return CallNextHookEx(_hook, nCode, wParam, lParam);
}
Похоже, кнопка "l" отменена: она не можно использовать «л» в блокноте, например. Но p c по-прежнему блокируется нажатием Winkey + l.