python使用pyhook监控键盘并实现切换歌曲的功能


Posted in Python onJuly 18, 2014

自己在玩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,最后按一下做方向键就切换音乐了.这三个键的顺序不能按错.

Python 相关文章推荐
简单介绍Ruby中的CGI编程
Apr 10 Python
菜鸟使用python实现正则检测密码合法性
Jan 05 Python
Python 错误和异常代码详解
Jan 29 Python
python生成不重复随机数和对list乱序的解决方法
Apr 09 Python
Python中循环引用(import)失败的解决方法
Apr 22 Python
Python读取数据集并消除数据中的空行方法
Jul 12 Python
python实现五子棋小游戏
Mar 25 Python
python3.6使用tkinter实现弹跳小球游戏
May 09 Python
Python使用docx模块实现刷题功能代码
Feb 13 Python
教你漂亮打印Pandas DataFrames和Series
May 29 Python
Python函数中apply、map、applymap的区别
Nov 27 Python
Python 操作pdf pdfplumber读取PDF写入Exce
Aug 14 Python
python中使用百度音乐搜索的api下载指定歌曲的lrc歌词
Jul 18 #Python
python采集博客中上传的QQ截图文件
Jul 18 #Python
Python下singleton模式的实现方法
Jul 16 #Python
python的迭代器与生成器实例详解
Jul 16 #Python
Python的内存泄漏及gc模块的使用分析
Jul 16 #Python
Python的垃圾回收机制深入分析
Jul 16 #Python
python中将字典转换成其json字符串
Jul 16 #Python
You might like
php 读取文件乱码问题
2010/02/20 PHP
让你成为更出色的PHP开发者的10个技巧
2011/02/25 PHP
php中array_multisort对多维数组排序的方法
2020/06/21 PHP
用js实现上传图片前的预览(TX的面试题)
2007/08/14 Javascript
SyntaxHighlighter代码加色使用方法
2008/09/07 Javascript
JavaScript prototype属性使用说明
2010/05/13 Javascript
jquery构造器的实现代码小结
2011/05/16 Javascript
40款非常棒的jQuery 插件和制作教程(系列一)
2011/10/26 Javascript
js调用css属性写法
2013/09/21 Javascript
js实现网页自动刷新可制作节日倒计时效果
2014/05/27 Javascript
原生javascript实现图片弹窗交互效果
2015/01/12 Javascript
javascript正则表达式使用replace()替换手机号的方法
2015/01/19 Javascript
关于JS 预解释的相关理解
2016/06/28 Javascript
javascript鼠标滑过显示二级菜单特效
2020/11/18 Javascript
jquery+css实现侧边导航栏效果
2017/06/12 jQuery
vue2.0 实现导航守卫(路由守卫)
2018/05/21 Javascript
解决vue项目nginx部署到非根目录下刷新空白的问题
2018/09/27 Javascript
深入了解JavaScript代码覆盖
2019/06/13 Javascript
Vuex,iView UI面包屑导航使用扩展详解
2019/11/04 Javascript
《javascript设计模式》学习笔记四:Javascript面向对象程序设计链式调用实例分析
2020/04/07 Javascript
vue实现购物车案例
2020/05/30 Javascript
在Python中使用Mako模版库的简单教程
2015/04/08 Python
python运行时间的几种方法
2016/06/17 Python
Django中ORM表的创建和增删改查方法示例
2017/11/15 Python
Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】
2018/12/05 Python
python 实现返回一个列表中出现次数最多的元素方法
2019/06/11 Python
详解如何减少python内存的消耗
2019/08/09 Python
python使用布隆过滤器的实现示例
2020/08/20 Python
驴妈妈旅游网:中国新型的B2C旅游电子商务网站
2016/08/16 全球购物
汇智创新科技发展有限公司
2015/12/06 面试题
儿科护理实习自我鉴定
2013/09/19 职场文书
挂职学习心得体会
2014/09/09 职场文书
领导班子三严三实对照检查材料
2014/09/25 职场文书
公务员处分决定书
2015/06/25 职场文书
社会心理学学习心得体会
2016/01/22 职场文书
嵌入式Redis服务器在Spring Boot测试中的使用教程
2021/07/21 Redis