python使用pyhook键盘钩子监控键盘

自己在玩dota的时候有时候喜欢边玩游戏边听音乐,但是切换下一曲的时候必须得切出游戏,而切换音乐的热键ctrl+alt+方向键在游戏的时候没有用,好事蛋疼,今天试试使用python来实现键盘监控切换下一曲,下面贴出代码

import pythoncom, pyHook 
import win32gui,win32api,win32con

Lcontrol_press = False
Lmenu_press = False
Left_press = False

def OnKeyboardEvent(event):
    global Lcontrol_press #在函数里面使用全局变量的时候要加上global关键字
    global Lmenu_press #要不然会出错
    global Left_press 
    print 'Key:', event.Key
    if (event.Key == "Lcontrol"):
        Lcontrol_press = True
    elif(event.Key == "Lmenu"):
        Lmenu_press = True
    elif(event.Key == "Left"):
        Left_press =True
    handel_key()
    return True
def handel_key() :
    global Lcontrol_press 
    global Lmenu_press 
    global Left_press     
    if(Lcontrol_press and Lmenu_press and Left_press):
        win32api.keybd_event( 0xB0,win32con.VK_MEDIA_NEXT_TRACK,0,0)
        Lcontrol_press = False
        Lmenu_press = False
        Left_press = False
        
hm = pyHook.HookManager()
hm.KeyDown = OnKeyboardEvent
hm.HookKeyboard()
pythoncom.PumpMessages()

好了,把你的播放器设置为随机播放就可以在游戏的时候按下ctrl+alt+左方向键就可以切换音乐啦(ctrl和alt也是左边的)
顺便说明下,那三个快捷键不是组合键,意思是你要先按下ctrl然后放开,在按下alt,最后按一下做方向键就切换音乐了.这三个键的顺序不能按错.

发表评论

电子邮件地址不会被公开。 必填项已用*标注