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检测手机QQ在线状态的脚本代码
Feb 10 Python
python批量导出导入MySQL用户的方法
Nov 15 Python
Python读取mp3中ID3信息的方法
Mar 05 Python
Python操作Word批量生成文章的方法
Jul 28 Python
Python使用剪切板的方法
Jun 06 Python
Python数据结构与算法之列表(链表,linked list)简单实现
Oct 30 Python
python3 requests中使用ip代理池随机生成ip的实例
May 07 Python
Python用csv写入文件_消除空余行的方法
Jul 06 Python
简单了解Django ORM常用字段类型及参数配置
Jan 07 Python
pytorch-神经网络拟合曲线实例
Jan 15 Python
python pyg2plot的原理知识点总结
Feb 28 Python
python numpy中setdiff1d的用法说明
Apr 22 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简单对象与数组的转换函数代码(php多层数组和对象的转换)
2011/05/18 PHP
php微信开发之自定义菜单实现
2016/11/18 PHP
jQuery 连续列表实现代码
2009/12/21 Javascript
js将iframe中控件的值传到主页面控件中的实现方法
2013/03/11 Javascript
jquery 实现input输入什么div图层显示什么
2014/06/15 Javascript
使用jQuery简单实现模拟浏览器搜索功能
2014/12/21 Javascript
jQuery实现信息提示框(带有圆角框与动画)效果
2015/08/07 Javascript
js实现浮动在网页右侧的简洁QQ在线客服代码
2015/09/04 Javascript
JavaScript中对DOM节点的访问、创建、修改、删除
2015/11/16 Javascript
JS输出空格的简单实现方法
2016/09/08 Javascript
Bootstrap导航简单实现代码
2017/03/06 Javascript
Angular2 组件通信的实例代码
2017/06/23 Javascript
浅谈基于Vue.js的移动组件库cube-ui
2017/12/20 Javascript
js保留两位小数方法总结
2018/01/31 Javascript
Vue源码解析之Template转化为AST的实现方法
2018/12/14 Javascript
Python基于Tkinter实现的记事本实例
2015/06/17 Python
Python进阶-函数默认参数(详解)
2017/05/18 Python
Django验证码的生成与使用示例
2017/05/20 Python
python3中函数参数的四种简单用法
2018/07/09 Python
Python实现求两个数组交集的方法示例
2019/02/23 Python
python动态进度条的实现代码
2019/07/03 Python
django项目登录中使用图片验证码的实现方法
2019/08/15 Python
Python安装OpenCV的示例代码
2020/03/05 Python
学习Python爬虫的几点建议
2020/08/05 Python
如何删除一个表里面的重复行
2013/07/13 面试题
中学生在校期间的自我评价分享
2013/11/13 职场文书
2014学习全国两会精神心得体会2000字
2014/03/11 职场文书
党员干部承诺书
2014/03/25 职场文书
教师党员公开承诺书
2014/03/25 职场文书
2015年简历自我评价范文
2015/03/11 职场文书
工作态度检讨书范文
2015/05/06 职场文书
2015年度电厂个人工作总结
2015/05/13 职场文书
中秋节主题班会
2015/08/14 职场文书
100句拼搏进取的名言警句,值得一读!
2019/10/07 职场文书
SQL Server远程连接的设置步骤(图文)
2022/03/23 SQL Server
关于windows server 2012 DC 环境 重启后蓝屏代码:0xc00002e2的问题
2022/05/25 Servers