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中map()函数的使用方法示例
Sep 29 Python
利用TensorFlow训练简单的二分类神经网络模型的方法
Mar 05 Python
Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算法示例
Mar 15 Python
Python3实现的字典遍历操作详解
Apr 18 Python
mac系统下Redis安装和使用步骤详解
Jul 09 Python
python psutil模块使用方法解析
Aug 01 Python
Python pandas实现excel工作表合并功能详解
Aug 29 Python
Python3使用xlrd、xlwt处理Excel方法数据
Feb 28 Python
Django-xadmin+rule对象级权限的实现方式
Mar 30 Python
使用Python pip怎么升级pip
Aug 11 Python
浅谈python锁与死锁问题
Aug 14 Python
Python使用openpyxl批量处理数据
Jun 23 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
海贼王:最美的悬赏令!
2020/03/02 日漫
PHP has encountered a Stack overflow问题解决方法
2014/11/03 PHP
浅谈php中urlencode与rawurlencode的区别
2016/09/05 PHP
Laravel框架Request、Response及Session操作示例
2019/05/06 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
PHP生成图表pChart的示例解析
2020/07/31 PHP
Jquery实现页面加载时弹出对话框代码
2013/04/19 Javascript
jquery分页插件jpaginate在IE中不兼容问题
2014/04/22 Javascript
JQuery报错Uncaught TypeError: Illegal invocation的处理方法
2015/03/13 Javascript
JavaScript中字符串分割函数split用法实例
2015/04/07 Javascript
jQuery取消ajax请求的方法
2015/06/09 Javascript
JavaScript学习小结(7)之JS RegExp
2015/11/29 Javascript
基于jQuery实现网页打印功能
2015/12/01 Javascript
jQuery Ajax Post 回调函数不执行问题的解决方法
2016/08/15 Javascript
require.js 加载 vue组件 r.js 合并压缩的实例
2016/10/14 Javascript
JavaScript BASE64算法实现(完美解决中文乱码)
2017/01/10 Javascript
Base64(二进制)图片编码解析及在各种浏览器的兼容性处理
2017/02/09 Javascript
关于Node.js的events.EventEmitter用法介绍
2017/04/01 Javascript
vue 请求后台数据的实例代码
2017/06/22 Javascript
一步一步的了解webpack4的splitChunk插件(小结)
2018/09/17 Javascript
Vue+Bootstrap实现简易学生管理系统
2021/02/09 Vue.js
[00:36]DOTA2风云人物相约完美“圣”典 12月17日不见不散
2016/11/30 DOTA
Python使用matplotlib绘制三维参数曲线操作示例
2019/09/10 Python
python 绘制场景热力图的示例
2020/09/23 Python
sublime3之内网安装python插件Anaconda的流程
2020/11/10 Python
美国眼镜在线零售商:Dualens
2019/12/07 全球购物
C#软件工程师英语面试题
2015/06/07 面试题
工程测量与监理专业应届生求职信
2013/11/27 职场文书
大学迎新生标语
2014/10/06 职场文书
教师批评与自我批评心得体会
2014/10/16 职场文书
背起爸爸上学观后感
2015/06/08 职场文书
小学六年级毕业感言
2015/07/30 职场文书
2017年寒假少先队活动总结
2016/04/06 职场文书
Nginx 过滤静态资源文件的访问日志的实现
2021/03/31 Servers
详解Js模块化的作用原理和方案
2021/04/29 Javascript
给numpy.array增加维度的超简单方法
2021/06/02 Python