hKeyboardHook = SetWindowsHookEx(WH_KEYBOARD, KeyboardProc, hInstance, 0);
...
LRESULT KeyboardProc(...)
{
if (Key == VK_SOMEKEY)
return 1; // Trap key
return CallNextHookEx(...); // Let the OS handle it
}
...
UnhookWindowsHookEx(hKeyboardHook);
Блокировка клавиатуры
Здравствуйте! Иногда приходится решать довольно интересные задачки… Например полностью блокировать клавиатуру на небольшой промежуток времени. Примерно представляю, в каком направлении двигаться, но может, кто-нибудь уже сталкивался с такими вещами? Буду очень благодарен за помощь! Заранее спасибо…
Попробуй SystemParametersInfo с SPI_SCREENSAVERRUNNING, должно подойти.
нашел вот такую вещь:
HINSTANCE hDll;
DWORD (__stdcall *BlockInput)(BOOL Status);
DWORD Result;
hDll = LoadLibrary("User32.dll");
BlockInput = (DWORD (__stdcall *)(BOOL Status))GetProcAddress(hDll, "BlockInput");
if(!BlockInput)
{
FreeLibrary(hDll);
return;
}
Result = BlockInput(true);
if(Result)
{
Sleep(1500);
}
BlockInput(false);
FreeLibrary(hDll);
засыпает на полторы секунды :)
Может есть еще идеи по поводу блоков и перехватов?
нашел это в World C++
Можно правда еще попробовать устанавливать хуки: