El problema es que no funciona ,me canse de probar diferentes configuraciones (de google) pero nada ,todo sigue como simepre.
Alguno me podria dar una mano y decirme por que no se bloquean las teclas pre seleccionadas?
Muchas gracias.-
Source :
Citar
HHOOK g_hHookKbdLL = NULL;
LRESULT CALLBACK KeyHookLL(int nCode, WPARAM wp, LPARAM lp);
BOOL APIENTRY DllMain(HINSTANCE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
g_hHookKbdLL = SetWindowsHookEx(WH_KEYBOARD_LL,KeyHookLL, hModule, 0);
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
UnhookWindowsHookEx(g_hHookKbdLL);
g_hHookKbdLL = NULL;
break;
}
return TRUE;
}
LRESULT CALLBACK KeyHookLL(int nCode, WPARAM wp, LPARAM lp)
{
KBDLLHOOKSTRUCT *pkh = (KBDLLHOOKSTRUCT *) lp;
if (nCode==HC_ACTION)
{
if(pkh->vkCode==VK_F1) // Bloquear F1
{
return 1;
}
}
return CallNextHookEx(g_hHookKbdLL, nCode, wp, lp);
}
LRESULT CALLBACK KeyHookLL(int nCode, WPARAM wp, LPARAM lp);
BOOL APIENTRY DllMain(HINSTANCE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
g_hHookKbdLL = SetWindowsHookEx(WH_KEYBOARD_LL,KeyHookLL, hModule, 0);
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
UnhookWindowsHookEx(g_hHookKbdLL);
g_hHookKbdLL = NULL;
break;
}
return TRUE;
}
LRESULT CALLBACK KeyHookLL(int nCode, WPARAM wp, LPARAM lp)
{
KBDLLHOOKSTRUCT *pkh = (KBDLLHOOKSTRUCT *) lp;
if (nCode==HC_ACTION)
{
if(pkh->vkCode==VK_F1) // Bloquear F1
{
return 1;
}
}
return CallNextHookEx(g_hHookKbdLL, nCode, wp, lp);
}
PD: Supuestamente para bloquear solo hay que cambiar el : if(pkh->vkCode==VK_F1) // Bloquear F1 x if(pkh->vkCode==VK_F2) // Bloquear F2 y asi sucesivamente.