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警察与小偷的实现之一客户端与服务端通信实例
Oct 09 Python
Python IDE PyCharm的基本快捷键和配置简介
Nov 04 Python
Python中time模块与datetime模块在使用中的不同之处
Nov 24 Python
python使用response.read()接收json数据的实例
Dec 19 Python
python如何解析配置文件并应用到项目中
Jun 27 Python
pyenv与virtualenv安装实现python多版本多项目管理
Aug 17 Python
python实现用类读取文件数据并计算矩形面积
Jan 18 Python
TensorFlow绘制loss/accuracy曲线的实例
Jan 21 Python
python matplotlib实现将图例放在图外
Apr 17 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
May 07 Python
Python环境使用OpenCV检测人脸实现教程
Oct 19 Python
python爬取企查查企业信息之selenium自动模拟登录企查查
Apr 08 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
简单的页面缓冲技术
2006/10/09 PHP
smarty巧妙处理iframe中内容页的代码
2012/03/07 PHP
深入PHP autoload机制的详解
2013/06/09 PHP
PHP 线程安全与非线程安全版本的区别深入解析
2013/08/06 PHP
php读取本地文件常用函数(fopen与file_get_contents)
2013/09/09 PHP
如何解决PHP无法实现多线程的问题
2015/09/25 PHP
Laravel 5.4因特殊字段太长导致migrations报错的解决
2017/10/22 PHP
JSON为什么那样红为什么要用json(另有洞天)
2012/12/26 Javascript
jquery动态加载js三种方法实例
2013/08/03 Javascript
常用的jquery模板插件——jQuery Boilerplate介绍
2014/09/23 Javascript
JS实现的网页背景闪电闪烁效果代码
2015/10/17 Javascript
jquery编写Tab选项卡滚动导航切换特效
2020/07/17 Javascript
bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路
2016/09/28 Javascript
老生常谈JavaScript面向对象基础与this指向问题
2017/10/16 Javascript
jquery 输入框查找关键字并提亮颜色的实例代码
2018/01/23 jQuery
解决jQuery使用append添加的元素事件无效的问题
2018/08/30 jQuery
JS实现简单的文字无缝上下滚动功能示例
2019/06/22 Javascript
js实现抽奖功能
2020/11/24 Javascript
django 创建过滤器的实例详解
2017/08/14 Python
python 日期操作类代码
2018/05/05 Python
tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法
2018/07/27 Python
Pytorch损失函数nn.NLLLoss2d()用法说明
2020/07/07 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
2020/09/23 Python
如何编写python的daemon程序
2021/01/07 Python
canvas离屏技术与放大镜实现代码示例
2018/08/31 HTML / CSS
公司领导推荐信
2013/11/12 职场文书
服装公司总经理岗位职责
2013/11/30 职场文书
计算机学生求职信范文
2014/01/30 职场文书
中秋节礼品促销方案
2014/02/02 职场文书
会计学毕业生求职信
2014/06/25 职场文书
大学生见习报告范文
2014/11/03 职场文书
工作推荐信模板
2015/03/25 职场文书
父亲去世追悼词
2015/06/23 职场文书
python数据分析之用sklearn预测糖尿病
2021/04/22 Python
nginx配置虚拟主机的详细步骤
2021/07/21 Servers
MySQL数据库配置信息查看与修改方法详解
2022/06/25 MySQL