Borland C++ Builder FAQ - Блокировка клавиатуры и мыши

ОГЛАВЛЕНИЕ


Блокировка клавиатуры и мыши

// Для блокировки клавиатуры и мыши напишите следующий  код:
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("Готово.");
}