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判定IP地址合法性的三种方法
Mar 06 Python
基于python log取对数详解
Jun 08 Python
Tensorflow使用支持向量机拟合线性回归
Sep 07 Python
python2和python3的输入和输出区别介绍
Nov 20 Python
浅谈python之高阶函数和匿名函数
Mar 21 Python
python生成大写32位uuid代码
Mar 03 Python
python实现超级玛丽游戏
Mar 18 Python
解决jupyter运行pyqt代码内核重启的问题
Apr 16 Python
pytorch实现查看当前学习率
Jun 24 Python
tensorflow中的数据类型dtype用法说明
May 26 Python
python中取整数的几种方法
Nov 07 Python
python获取字符串中的email
Mar 31 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
第三节--定义一个类
2006/11/16 PHP
php数组查找函数总结
2014/11/18 PHP
PHP编译安装时常见错误解决办法
2015/05/28 PHP
PHP生成随机密码方法汇总
2015/08/27 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
Yii框架中使用PHPExcel的方法分析
2019/07/25 PHP
jquery获取一组checkbox的值(实例代码)
2013/11/04 Javascript
js中opener与parent的区别详细解析
2014/01/14 Javascript
JavaScript利用append添加元素报错的解决方法
2014/07/01 Javascript
javascript学习笔记(三)BOM和DOM详解
2014/09/30 Javascript
Javascript的表单验证-初识正则表达式
2016/03/18 Javascript
Jquery树插件zTree实现菜单树
2017/01/24 Javascript
Node.js发送HTTP客户端请求并显示响应结果的方法示例
2017/04/12 Javascript
js 简易版滚动条实例(适用于移动端H5开发)
2017/06/26 Javascript
JavaScript中常见的八个陷阱总结
2017/06/28 Javascript
js推箱子小游戏步骤代码解析
2018/01/10 Javascript
vue中使用input[type="file"]实现文件上传功能
2018/09/10 Javascript
JavaScript JSON使用原理及注意事项
2020/07/30 Javascript
React实现全选功能
2020/08/25 Javascript
nestjs返回给前端数据格式的封装实现
2021/02/22 Javascript
[00:37]2016完美“圣”典风云人物:AMS宣传片
2016/12/06 DOTA
Python实现制度转换(货币,温度,长度)
2019/07/14 Python
python实现实时视频流播放代码实例
2020/01/11 Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
2020/02/28 Python
python 操作mysql数据中fetchone()和fetchall()方式
2020/05/15 Python
在HTML5中使用MathML数学公式的简单讲解
2016/02/19 HTML / CSS
出门问问全球官方商城:Tichome音箱和TicWatch智能手表
2017/12/02 全球购物
西班牙宠物用品和食品网上商店:Tiendanimal
2019/06/06 全球购物
新加坡最早生产电动滑板车的制造商之一:FunsToTheFore
2020/09/08 全球购物
奖学金自我鉴定范文
2013/10/03 职场文书
草船借箭教学反思
2014/02/03 职场文书
服装设计专业求职信
2014/06/16 职场文书
标准版离职证明书
2014/09/12 职场文书
小学教研工作总结2015
2015/05/13 职场文书
数学复习课教学反思
2016/02/18 职场文书
MySQL 数据恢复的多种方法汇总
2021/06/21 MySQL