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使用scrapy采集时伪装成HTTP/1.1的方法
Apr 08 Python
Python基础中所出现的异常报错总结
Nov 19 Python
python使用mysql数据库示例代码
May 21 Python
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
Jul 27 Python
Python递归实现汉诺塔算法示例
Mar 19 Python
Python DataFrame一列拆成多列以及一行拆成多行
Aug 06 Python
Python学习笔记之Django创建第一个数据库模型的方法
Aug 07 Python
django 快速启动数据库客户端程序的方法示例
Aug 16 Python
python模块常用用法实例详解
Oct 17 Python
python 如何去除字符串头尾的多余符号
Nov 19 Python
在keras 中获取张量 tensor 的维度大小实例
Jun 10 Python
基于OpenCV的路面质量检测的实现
Nov 04 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函数解决SQL injection
2006/10/09 PHP
phpmyadmin里面导入sql语句格式的大量数据的方法
2010/06/05 PHP
解析用PHP读写音频文件信息的详解(支持WMA和MP3)
2013/05/10 PHP
解析csv数据导入mysql的方法
2013/07/01 PHP
php比较两个绝对时间的大小
2014/01/31 PHP
php使用PDO方法详解
2014/12/27 PHP
PHP正则表达式之捕获组与非捕获组
2015/11/06 PHP
Laravel框架使用Redis的方法详解
2018/05/30 PHP
[原创]站长必须要知道的javascript广告代码
2007/05/30 Javascript
js验证是否为数字的总结
2013/04/14 Javascript
jquery阻止后续事件只执行第一个事件
2014/07/24 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
js实现简单的获取验证码按钮效果
2017/03/03 Javascript
requirejs + vue 项目搭建详解
2017/06/16 Javascript
详解ES6之async+await 同步/异步方案
2017/09/19 Javascript
JS通过位运算实现权限加解密
2018/08/14 Javascript
vue.js watch经常失效的场景与解决方案
2021/01/07 Vue.js
原生JavaScript实现轮播图
2021/01/10 Javascript
Python读写Excel文件方法介绍
2014/11/22 Python
Python中设置变量作为默认值时容易遇到的错误
2015/04/03 Python
python实现扫描日志关键字的示例
2018/04/28 Python
Django数据库连接丢失问题的解决方法
2018/12/29 Python
Flask框架中request、请求钩子、上下文用法分析
2019/07/23 Python
python3 配置logging日志类的操作
2020/04/08 Python
Python基于smtplib模块发送邮件代码实例
2020/05/29 Python
Python-openCV开运算实例
2020/07/05 Python
BIBLOO波兰:捷克的一家在线服装店
2018/03/09 全球购物
红色连衣裙精品店:Red Dress Boutique
2018/08/11 全球购物
销售自我评价
2013/10/22 职场文书
物流司机岗位职责
2013/12/28 职场文书
教师专业自荐书范文
2014/02/10 职场文书
中班上学期幼儿评语
2014/04/30 职场文书
保洁员岗位职责
2015/02/04 职场文书
环卫工人慰问信
2015/02/15 职场文书
汉字听写大会观后感
2015/06/12 职场文书
Mysql Show Profile
2021/04/05 MySQL