JAVA用键盘钩子_使用低级键盘钩子抑制任务切换键(winkey,alt-tab,alt-esc,ctrl-esc)...

这就是我的工作,我还添加了Alt F4以防止应用程序关闭 .

private static bool lastWasCtrlKey = false;

private static IntPtr captureKey(int nCode, IntPtr wp, IntPtr lp)

{

if (nCode >= 0)

{

KBDLLHOOKSTRUCT objKeyInfo = (KBDLLHOOKSTRUCT)Marshal.PtrToStructure(lp, typeof(KBDLLHOOKSTRUCT));

// Disabling Windows keys

switch (objKeyInfo.key)

{

case Keys.RWin:

case Keys.LWin:

case Keys.Tab when HasAltModifier(objKeyInfo.flags):

case Keys.Escape when HasAltModifier(objKeyInfo.flags):

case Keys.Delete when HasAltModifier(objKeyInfo.flags):

case Keys.F4 when HasAltModifier(objKeyInfo.flags):

case Keys.Escape when lastWasCtrlKey:

lastWasCtrlKey = false;

return (IntPtr)1;

case Keys.LControlKey:

case Keys.RControlKey:

lastWasCtrlKey = true;

break;

case Keys.LShiftKey:

case Keys.RShiftKey:

// Do nothing as the Ctrl key could have been before this

break;

default:

lastWasCtrlKey = false;

break;

}

}

return CallNextHookEx(ptrHook, nCode, wp, lp);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值