C ¿Cómo deshabilitar los enlaces de teclado globales o prohibir ciertos enlaces de programas?
Para programas normales, un gancho de doble buffer es suficiente (equivalente a un gancho superior falso), el código es el siguiente: HHOOK?m_hHOOK1?=?NULL,?m_hHOOK2?=?NULL;?m_hHOOK1? =?( HHOOK)SetWindowsHookEx(WH_KEYBOARD_LL,?(HOOKPROC)KeyboardProc,?GetModuleHandle(L"HOOK"),?0);HOOK?se convierte en?su?nombre de módulo? m_hHOOK2?=?(HHOOK)SetWindowsHookEx(WH_KEYBOARD_LL,?( HOOKPROC) KeyboardProc,?GetModuleHandle(L"HOOK"),?0);//Igual que el anterior while?(/**/true)
{ UnhookWindowsHookEx(m_hHOOK1); )SetWindowsHookEx(WH_KEYBOARD_LL ,?(HOOKPROC)KeyboardProc,?GetModuleHandle(L"HOOK"),?0); //Igual que el anterior UnhookWindowsHookEx(m_hHOOK2?=?(HHOOK)SetWindowsHookEx(WH_KEYBOARD_LL,?(HOOKPROC)KeyboardProc); ,?GetModuleHandle(L" HOOK"),?0);//Igual que arriba
}
Para programas más anormales como la parte de inicio de sesión de QQ de TX?, el El método anterior puede atrapar el pollo directamente. Se recomienda utilizar winio o su biblioteca de versión superior para la interceptación a nivel de controlador (no probado personalmente).
Si aún así atrapas el pollo, solo puedes impulsar ese programa para la cirugía, lo que requiere que el cartel tenga ciertas habilidades en lenguaje ensamblador (no lo he practicado y no puedo garantizar el éxito).