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 相关文章推荐
Python读取Excel的方法实例分析
Jul 11 Python
python使用paramiko实现远程拷贝文件的方法
Apr 18 Python
Python中pygal绘制雷达图代码分享
Dec 07 Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
Jan 24 Python
使用python爬虫获取黄金价格的核心代码
Jun 13 Python
Python实现将Excel转换成xml的方法示例
Aug 25 Python
Python:Numpy 求平均向量的实例
Jun 29 Python
解决python明明pip安装成功却找不到包的问题
Aug 28 Python
Python中实现输入超时及如何通过变量获取变量名
Jan 18 Python
使用tensorflow显示pb模型的所有网络结点方式
Jan 23 Python
Python3爬虫中关于Ajax分析方法的总结
Jul 10 Python
python机器学习实现oneR算法(以鸢尾data为例)
Mar 03 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中使用gettext解决国际化问题的例子(i18n)
2014/06/13 PHP
smarty模板引擎基础知识入门
2015/03/30 PHP
一个判断email合法性的函数[非正则]
2008/12/09 Javascript
读jQuery之四(优雅的迭代)
2011/06/20 Javascript
JS实现同时搜索百度和必应的方法
2015/01/27 Javascript
nodejs 整合kindEditor实现图片上传
2015/02/03 NodeJs
javascript常用正则表达式汇总
2015/07/31 Javascript
Jquery和angularjs获取check框选中的值的方法汇总
2016/01/17 Javascript
js实现图片淡入淡出切换简易效果
2016/08/22 Javascript
微信小程序 wx.request方法的异步封装实例详解
2017/05/18 Javascript
基于vue中css预加载使用sass的配置方式详解
2018/03/13 Javascript
通过webpack引入第三方库的方法
2018/07/20 Javascript
在Angular中使用JWT认证方法示例
2018/09/10 Javascript
详解React项目如何修改打包地址(编译输出文件地址)
2019/03/21 Javascript
js form表单input框限制20个字符,10个汉字代码实例
2019/04/12 Javascript
浅谈微信小程序列表埋点曝光指南
2019/10/15 Javascript
[01:02:05]LGD vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python的CGIHTTPServer交互实现详解
2018/02/08 Python
NumPy 数学函数及代数运算的实现代码
2018/07/18 Python
Python面向对象程序设计构造函数和析构函数用法分析
2019/04/12 Python
Python3 ffmpeg视频转换工具使用方法解析
2020/08/10 Python
英国Zoro工具:手动工具,电动工具和个人防护用品
2016/11/02 全球购物
从当地商店送来的杂货:Instacart
2018/08/19 全球购物
物流专业毕业生推荐信范文
2013/11/18 职场文书
部队领导证婚词
2014/01/12 职场文书
大学学习生活感言
2014/01/18 职场文书
留学经费担保书
2014/05/12 职场文书
派出所所长先进事迹
2014/05/19 职场文书
会计实训报告范文
2014/11/04 职场文书
2014年宣传部个人工作总结
2014/12/06 职场文书
党员自我评价2015
2015/03/03 职场文书
财产分割协议书
2016/03/22 职场文书
nginx常用命令放入shell脚本详解
2021/03/31 Servers
Golang中异常处理机制详解
2021/06/08 Golang
使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)
2022/01/18 PostgreSQL
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
2022/04/02 Servers