2
我試圖壓制任務切換鍵(如WINKEY,ALT +標籤,ALT + ESC,CTRL + ESC等)通過使用低級別的鍵盤鉤。禁止任務切換鍵(WINKEY,ALT標籤,ALT-ESC,CTRL-ESC)使用低級別的鍵盤鉤子
我使用以下LowLevelKeyboardProc
回調:
IntPtr HookCallback(int nCode, IntPtr wParam, ref KBDLLHOOKSTRUCT lParam)
{
if (nCode >= 0)
{
bool suppress = false;
// Suppress left and right windows keys.
if (lParam.Key == VK_LWIN || lParam.Key == VK_RWIN)
suppress = true;
// Suppress alt-tab.
if (lParam.Key == VK_TAB && HasAltModifier(lParam.Flags))
suppress = true;
// Suppress alt-escape.
if (lParam.Key == VK_ESCAPE && HasAltModifier(lParam.Flags))
suppress = true;
// Suppress ctrl-escape.
/* How do I hook CTRL-ESCAPE ? */
// Suppress keys by returning 1.
if (suppress)
return new IntPtr(1);
}
return CallNextHookEx(HookID, nCode, wParam, ref lParam);
}
bool HasAltModifier(int flags)
{
return (flags & 0x20) == 0x20;
}
不過,我在茫然,如何抑制CTRL + ESC 組合。 有什麼建議嗎?謝謝。