Blokowanie wciśnięcia kombinacji klawiszy Lewy Alt + F4:
KOD cpp: UKRYJ
HHOOK g_hLogHook = NULL;
LRESULT CALLBACK ZabronQ( int code, WPARAM wParam, LPARAM lParam )
{
if(code < 0) return CallNextHookEx(g_hLogHook, code, wParam, lParam);
EVENTMSG *pEvt = (EVENTMSG *)lParam;
int vKey = LOBYTE(pEvt->paramL);
if( vKey == 115 && (vKey & 18) )/* F4 + left Alt */
{
pEvt->paramL = NULL;
}
return CallNextHookEx( 0, code, wParam, lParam );
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{ /* MONTOWANIE HAKA */
if(g_hLogHook == NULL)
g_hLogHook = SetWindowsHookEx(WH_JOURNALRECORD, (HOOKPROC)ZabronQ, HInstance,0);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{ /* ODMONTOWANIE HAKA */
if(g_hLogHook != NULL)
{
UnhookWindowsHookEx(g_hLogHook);
g_hLogHook = NULL;
}
}
LRESULT CALLBACK ZabronQ( int code, WPARAM wParam, LPARAM lParam )
{
if(code < 0) return CallNextHookEx(g_hLogHook, code, wParam, lParam);
EVENTMSG *pEvt = (EVENTMSG *)lParam;
int vKey = LOBYTE(pEvt->paramL);
if( vKey == 115 && (vKey & 18) )/* F4 + left Alt */
{
pEvt->paramL = NULL;
}
return CallNextHookEx( 0, code, wParam, lParam );
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{ /* MONTOWANIE HAKA */
if(g_hLogHook == NULL)
g_hLogHook = SetWindowsHookEx(WH_JOURNALRECORD, (HOOKPROC)ZabronQ, HInstance,0);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{ /* ODMONTOWANIE HAKA */
if(g_hLogHook != NULL)
{
UnhookWindowsHookEx(g_hLogHook);
g_hLogHook = NULL;
}
}



