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中的len()函数的使用
Apr 07 Python
python实现文本去重且不打乱原本顺序
Jan 26 Python
Python 多线程抓取图片效率对比
Feb 27 Python
Python2.7下安装Scrapy框架步骤教程
Dec 22 Python
python模拟表单提交登录图书馆
Apr 27 Python
django反向解析URL和URL命名空间的方法
Jun 05 Python
Python实现二维曲线拟合的方法
Dec 29 Python
Python3内置模块之base64编解码方法详解
Jul 13 Python
python使用yield压平嵌套字典的超简单方法
Nov 02 Python
pytorch实现onehot编码转为普通label标签
Jan 02 Python
浅谈Python中range与Numpy中arange的比较
Mar 11 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
Jul 02 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的安全
2006/10/09 PHP
vBulletin HACK----关于排版的两个HACK
2006/10/09 PHP
PHP获取url的函数代码
2011/08/02 PHP
PHP中extract()函数的定义和用法
2012/08/17 PHP
PHP实现合并discuz用户
2015/08/05 PHP
PHP实现小程序批量通知推送
2018/11/27 PHP
JavaScript 参考教程
2006/12/29 Javascript
js 数组操作代码集锦
2009/04/28 Javascript
利用js获取服务器时间的两个简单方法
2010/01/08 Javascript
jquery.cookie.js 操作cookie实现记住密码功能的实现代码
2011/04/27 Javascript
深入分析JQuery和JavaScript的异同
2014/10/23 Javascript
jQuery中的Deferred和promise 的区别
2016/04/03 Javascript
创建一个类Person的简单实例
2016/05/17 Javascript
Bootstrap CSS布局之表单
2016/12/17 Javascript
微信小程序 常用工具类详解及实例
2017/02/15 Javascript
vue做网页开场视频的实例代码
2017/10/20 Javascript
BootStrap TreeView使用实例详解
2017/11/01 Javascript
基于React Native 0.52实现轮播图效果
2020/08/25 Javascript
JavaScript如何处理移动端拍摄图片旋转问题
2019/11/16 Javascript
Vue实现简单的跑马灯
2020/05/25 Javascript
vuex Module将 store 分割成模块的操作
2020/12/07 Vue.js
[49:08]FNATIC vs Infamous 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
Python 使用SMTP发送邮件的代码小结
2016/09/21 Python
python 处理数字,把大于上限的数字置零实现方法
2019/01/28 Python
django迁移文件migrations的实现
2020/03/31 Python
Django之富文本(获取内容,设置内容方式)
2020/05/21 Python
老师推荐信
2013/10/28 职场文书
高中生操行评语
2014/04/25 职场文书
欢度春节标语
2014/07/01 职场文书
解放思想大讨论活动心得体会
2014/09/11 职场文书
统计学教授推荐信
2014/09/18 职场文书
五四青年节活动总结
2015/02/10 职场文书
实习证明格式范文
2015/06/16 职场文书
三严三实学习心得体会(精选N篇)
2016/01/05 职场文书
详细聊聊vue中组件的props属性
2021/11/02 Vue.js
Redis中key的过期删除策略和内存淘汰机制
2022/04/12 Redis