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 查找文件夹下所有文件 实现代码
Jul 01 Python
python字符串替换示例
Apr 24 Python
Python基于socket模块实现UDP通信功能示例
Apr 10 Python
python在文本开头插入一行的实例
May 02 Python
python学习--使用QQ邮箱发送邮件代码实例
Apr 16 Python
Django实现微信小程序的登录验证功能并维护登录态
Jul 04 Python
django-初始配置(纯手写)详解
Jul 30 Python
python数值基础知识浅析
Nov 19 Python
Django实现从数据库中获取到的数据转换为dict
Mar 27 Python
python使用OpenCV模块实现图像的融合示例代码
Apr 10 Python
Keras自动下载的数据集/模型存放位置介绍
Jun 19 Python
Python3爬虫关于识别点触点选验证码的实例讲解
Jul 30 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
Protoss兵种对照表
2020/03/14 星际争霸
论坛头像随机变换代码
2006/10/09 PHP
PHP新手上路(六)
2006/10/09 PHP
Dedecms常用函数解析
2008/02/01 PHP
探讨:如何使用PHP实现计算两个日期间隔的年、月、周、日数
2013/06/13 PHP
解析PHP中的file_get_contents获取远程页面乱码的问题
2013/06/25 PHP
php二维数组排序详解
2013/11/06 PHP
通过PHP实现用户注册后邮箱验证激活
2020/11/10 PHP
JSDoc 介绍使用规范JsDoc的使用介绍
2011/02/12 Javascript
JS下载文件|无刷新下载文件示例代码
2014/04/17 Javascript
JavaScript图片轮播代码分享
2015/07/31 Javascript
AngularJS仿苹果滑屏删除控件
2016/01/18 Javascript
轻松理解Javascript变量的相关问题
2017/01/20 Javascript
纯js三维数组实现三级联动效果
2017/02/07 Javascript
Vue计算属性的使用
2017/08/04 Javascript
vue实现标签云效果的方法详解
2019/08/28 Javascript
vue项目从node8.x升级到12.x后的问题解决
2019/10/25 Javascript
这样回答继承可能面试官更满意
2019/12/10 Javascript
vue ssr+koa2构建服务端渲染的示例代码
2020/03/23 Javascript
Vue+Vant 图片上传加显示的案例
2020/11/03 Javascript
[16:01]夜魇凡尔赛茶话会 第二期01:你比划我猜
2021/03/11 DOTA
Python中lambda的用法及其与def的区别解析
2014/07/28 Python
Python构造函数及解构函数介绍
2015/02/26 Python
Python实现PS滤镜特效之扇形变换效果示例
2018/01/26 Python
pygame实现俄罗斯方块游戏(AI篇1)
2019/10/29 Python
python操作redis数据库的三种方法
2020/09/10 Python
canvas拼图功能实现代码示例
2018/11/21 HTML / CSS
印尼在线旅游门户网站:NusaTrip
2019/11/01 全球购物
Aurora London官网:奢华、负担得起的皮革手袋
2020/08/01 全球购物
大专学生推荐信范文
2013/11/19 职场文书
年终考核实施方案
2014/05/26 职场文书
2014年党风廉政建设工作总结
2014/11/19 职场文书
2015年元旦主持词开场白
2014/12/14 职场文书
2015年科室工作总结
2015/04/10 职场文书
民事上诉状范文
2015/05/22 职场文书
2019年度开业庆典祝福语大全!
2019/07/05 职场文书