Borland C++ Builder FAQ - Блокировка клавиатуры и мыши
ОГЛАВЛЕНИЕ
Страница 64 из 127
Блокировка клавиатуры и мыши
// Для блокировки клавиатуры и мыши напишите следующий код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
HINSTANCE hDll;
//ниже прототип будущей функции
DWORD __stdcall (*BlockInput)(bool Status);
DWORD Result;
Memo1->Lines->Add("");
Memo1->Lines->Add("Загрузка функции BlockInput()...");
hDll = LoadLibrary("User32.dll");
Memo1->Lines->Add("hDll = " + IntToHex(int(hDll), 8));
BlockInput = (DWORD __stdcall (*)(bool Status))GetProcAddress(hDll,
"BlockInput");
Memo1->Lines->Add("BlockInput = " + IntToHex(int(BlockInput), 8));
if(!BlockInput)
{
Memo1->Lines->Add("Ошибка!!!");
FreeLibrary(hDll);
return;
}
Memo1->Lines->Add("Выполняем BlockInput(true)...");
Result = BlockInput(true);
Memo1->Lines->Add("Result = " + IntToStr(Result));
if(Result)
{
Memo1->Lines->Add("Теперь клиатура и мышь доступны только, если нажать CTRL+ALT+DEL");
Memo1->Lines->Add("Ждем 15 сек...");
Sleep(15000);
}
else Memo1->Lines->Add("Ошибка!!!");
Memo1->Lines->Add("Восстанавливаем все как было...");
BlockInput(false);
FreeLibrary(hDll);
Memo1->Lines->Add("Готово.");
}