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中的多进程、多线程、协程
Jun 22 Python
Python实现屏幕截图的代码及函数详解
Oct 01 Python
Python实现简单遗传算法(SGA)
Jan 29 Python
Python学习笔记之open()函数打开文件路径报错问题
Apr 28 Python
python 借助numpy保存数据为csv格式的实现方法
Jul 04 Python
Python 判断奇数偶数的方法
Dec 20 Python
详解PyCharm+QTDesigner+PyUIC使用教程
Jun 13 Python
Django时区详解
Jul 24 Python
布隆过滤器的概述及Python实现方法
Dec 08 Python
python3获取文件中url内容并下载代码实例
Dec 27 Python
python数据预处理 :数据共线性处理详解
Feb 24 Python
Python闭包装饰器使用方法汇总
Jun 29 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
与空气斗智斗勇的经典《Overlord》,传说中的“无稽之谈”
2020/04/09 日漫
PHP程序员最常犯的11个MySQL错误小结
2010/11/20 PHP
php图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
2010/12/02 PHP
php微信开发之上传临时素材
2016/06/24 PHP
PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操作】
2017/06/21 PHP
tp5框架使用composer实现日志记录功能示例
2019/01/10 PHP
在laravel中实现ORM模型使用第二个数据库设置
2019/10/24 PHP
JavaScript中的对象化编程
2008/01/16 Javascript
Mootools 1.2教程 定时器和哈希简介
2009/09/15 Javascript
javascript cookies 设置、读取、删除实例代码
2010/04/12 Javascript
js导出table到excel同时兼容FF和IE示例
2013/09/03 Javascript
jQuery 属性选择器element[herf*='value']使用示例
2013/10/20 Javascript
JS根据年月获得当月天数的实现代码
2014/07/03 Javascript
jquery处理json对象
2014/11/03 Javascript
JavaScript弹出新窗口后向父窗口输出内容的方法
2015/04/06 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
2017/01/08 Javascript
微信小程序商城项目之购物数量加减(3)
2017/04/17 Javascript
Nodejs中使用phantom将html转为pdf或图片格式的方法
2017/09/18 NodeJs
在knockoutjs 上自己实现的flux(实例讲解)
2017/12/18 Javascript
完美解决mui框架off-canvas侧滑超出部分隐藏无法滚动的问题
2018/01/25 Javascript
vue-cli3+ts+webpack实现多入口多出口功能
2019/05/30 Javascript
python删除文件示例分享
2014/01/28 Python
python实现求特征选择的信息增益
2018/12/18 Python
Python利用Scrapy框架爬取豆瓣电影示例
2020/01/17 Python
Python关键字及可变参数*args,**kw原理解析
2020/04/04 Python
Django URL参数Template反向解析
2020/11/24 Python
Python更改pip镜像源的方法示例
2020/12/01 Python
使用css3背景渐变中的透明度来设置不同颜色的背景渐变
2014/03/31 HTML / CSS
标记环介质访问控制协议
2016/03/27 面试题
高二英语教学反思
2014/01/19 职场文书
企业车辆管理制度
2014/01/24 职场文书
《记承天寺夜游》教学反思
2014/02/16 职场文书
广告词串烧
2014/03/19 职场文书
计算机毕业大学生求职信
2014/06/26 职场文书
2014年教师节寄语
2014/08/11 职场文书
三星 3nm 芯片将于第二季度开始量产
2022/04/29 数码科技