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利用Nagios增加微信报警通知的功能
Feb 18 Python
python脚本监控docker容器
Apr 27 Python
深入理解Python中的super()方法
Nov 20 Python
Python判断是否json是否包含一个key的方法
Dec 31 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
Jan 14 Python
python基础教程之while循环
Aug 14 Python
解决pycharm安装第三方库失败的问题
May 09 Python
浅谈Python中文件夹和python package包的区别
Jun 01 Python
keras导入weights方式
Jun 12 Python
Django限制API访问频率常用方法解析
Oct 12 Python
pandas中DataFrame检测重复值的实现
May 26 Python
Python字符串格式化方式
Apr 07 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
暴雪前总裁遗憾:没尽早追赶Dota 取消星际争霸幽灵
2020/03/08 星际争霸
PHP回溯法解决0-1背包问题实例分析
2015/03/23 PHP
php+html5基于websocket实现聊天室的方法
2015/07/17 PHP
Yii框架实现记录日志到自定义文件的方法
2017/05/23 PHP
PHP 8新特性简介
2020/08/18 PHP
谷歌浏览器 insertCell与appendChild的区别
2009/02/12 Javascript
Jquery练习之表单验证实现代码
2010/12/14 Javascript
Jquery知识点三 jquery表单对象操作
2011/01/17 Javascript
基于Jquery与WebMethod投票功能实现代码
2011/01/19 Javascript
Javascript实现的类似Google的Div拖动效果代码
2011/08/09 Javascript
Jquery Validate 正则表达式实用验证代码大全
2013/08/23 Javascript
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
2013/11/14 Javascript
fmt:formatDate的输出格式详解
2014/01/09 Javascript
jquery动态更换设置背景图的方法
2014/03/25 Javascript
js图片卷帘门导航菜单特效代码分享
2015/09/10 Javascript
jQuery中attr()与prop()函数用法实例详解(附用法区别)
2015/12/29 Javascript
JS中frameset框架弹出层实例代码
2016/04/01 Javascript
JS获取填报扩展单元格控件的值的解决办法
2017/07/14 Javascript
Bootstrap table中toolbar新增条件查询及refresh参数使用方法
2018/05/18 Javascript
图文详解vue框架安装步骤
2019/02/12 Javascript
Vue中this.$nextTick的作用及用法
2020/02/04 Javascript
[04:29]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/02/01 DOTA
[45:15]Optic vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
Python 获取新浪微博的最新公共微博实例分享
2014/07/03 Python
书单|人生苦短,你还不用python!
2017/12/29 Python
python 多维切片之冒号和三个点的用法介绍
2018/04/19 Python
python实现移位加密和解密
2019/03/22 Python
python matplotlib库直方图绘制详解
2019/08/10 Python
python+adb命令实现自动刷视频脚本案例
2020/04/23 Python
matplotlib之pyplot模块之标题(title()和suptitle())
2021/02/22 Python
大学本科毕业生求职信范文
2013/12/18 职场文书
视光学毕业生自荐书范文
2014/02/13 职场文书
教师个人事迹材料
2014/12/17 职场文书
2015年消防工作总结
2015/04/24 职场文书
go 原生http web 服务跨域restful api的写法介绍
2021/04/27 Golang
nginx共享内存的机制详解
2022/03/21 Servers