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中itertools模块用法详解
Sep 25 Python
Python中的装饰器用法详解
Jan 14 Python
Python将阿拉伯数字转换为罗马数字的方法
Jul 10 Python
python类中super()和__init__()的区别
Oct 18 Python
pandas 数据实现行间计算的方法
Jun 08 Python
numpy matrix和array的乘和加实例
Jun 28 Python
python实现微信定时每天和女友发送消息
Apr 29 Python
连接pandas以及数组转pandas的方法
Jun 28 Python
python实现网站用户名密码自动登录功能
Aug 09 Python
python获取array中指定元素的示例
Nov 26 Python
Python如何在单元测试中给对象打补丁
Aug 03 Python
python开发实时可视化仪表盘的示例
May 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
PHP 命名空间实例说明
2011/01/27 PHP
利用php获得flv视频长度的实例代码
2017/10/26 PHP
PHP结合Vue实现滚动底部加载效果
2017/12/17 PHP
contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2011/09/13 Javascript
JS代码放在head和body中的区别分析
2011/12/01 Javascript
Jquery命名冲突解决的五种方案分享
2012/03/16 Javascript
javascript的offset、client、scroll使用方法详解
2012/12/25 Javascript
location对象的属性和方法应用(解析URL)
2013/04/12 Javascript
window.location 对象所包含的属性
2014/10/10 Javascript
常用的JavaScript WEB操作方法分享
2015/02/28 Javascript
jQuery实现带延时功能的水平多级菜单效果【附demo源码下载】
2016/09/21 Javascript
原生JS实现N级菜单的代码
2017/05/21 Javascript
js学习总结之dom2级事件基础知识详解
2017/07/27 Javascript
微信小程序swiper组件用法实例分析【附源码下载】
2017/12/07 Javascript
详解JS中统计函数执行次数与执行时间
2018/09/04 Javascript
Vue CLI3基础学习之pages构建多页应用
2019/06/02 Javascript
VUE 实现动态给对象增加属性,并触发视图更新操作示例
2019/11/29 Javascript
js通过循环多张图片实现动画效果
2019/12/19 Javascript
Nest.js环境变量配置与序列化详解
2021/02/21 Javascript
Python基于twisted实现简单的web服务器
2014/09/29 Python
Linux下Python获取IP地址的代码
2014/11/30 Python
以Python的Pyspider为例剖析搜索引擎的网络爬虫实现方法
2015/03/30 Python
Python max内置函数详细介绍
2016/11/17 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
2020/02/11 Python
Python调用.net动态库实现过程解析
2020/06/05 Python
vscode+PyQt5安装详解步骤
2020/08/12 Python
css3动画过渡实现鼠标跟随导航效果
2018/02/08 HTML / CSS
福克斯租车:Fox Rent A Car
2017/04/13 全球购物
车间统计员岗位职责
2014/01/05 职场文书
活动倡议书范文
2014/05/13 职场文书
求职信标题怎么写
2014/05/26 职场文书
法定代表人授权委托书范本
2014/10/07 职场文书
村支部书记群众路线对照检查材料思想汇报
2014/10/08 职场文书
使用pandas生成/读取csv文件的方法实例
2021/07/09 Python
ROS系统将python包编译为可执行文件的简单步骤
2021/07/25 Python
分享3个非常实用的 Python 模块
2022/03/03 Python