如何用python屏蔽系统热键alt+Tab?

利用python在开发一个锁屏程序,需要屏蔽掉alt+Tab的系统热键
貌似是用hook完成,但是一直没能理解
如何捕捉ALT+Tab?如何中断热键?

1个回答

from pyHook import HookManager, GetKeyState, HookConstants
import pythoncom    
def OnKeyboardEvent(event):
    # 屏蔽组合ALT+TAB
    if GetKeyState(HookConstants.VKeyToID('VK_MENU')) and event.KeyID == HookConstants.VKeyToID('VK_TAB'):
        return False
    # 返回True则不会屏蔽对应键
    return True

# 创建hook manager对象
hm = HookManager()
# 对键盘事件进行监控
hm.KeyDown = OnKeyboardEvent
# 设置hook
hm.HookKeyboard()

# 循环获取消息
pythoncom.PumpMessages()

wrenthomas
wrenthomas 对于命令行界面的编程,设置了钩子后还不够,因为脚本在成功挂钩后,就结束运行了。这个时候就需要使程序进入循环监听系统事件的状态。 比较简单的方法是使用Win32 Extensions package提供的PumpMessages()方法。如果是基于某些GUI库的编程,则不需要这样,因为GUI库本身就具有监听消息循环的机制。
大约 2 个月之前 回复
qq_39003406
CCCCTF PumpMessages相当于一个新的线程么?如果我想用于监控tkinter的热键是否还需要将该方法设置一个新的线程完成监控?
大约 2 个月之前 回复
qq_39003406
CCCCTF 请问PumoP
大约 2 个月之前 回复
qq_39003406
CCCCTF 感谢!
大约 2 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问