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中的文本处理
Apr 11 Python
详解Python中的type()方法的使用
May 21 Python
Python实现批量转换文件编码的方法
Jul 28 Python
Unicode和Python的中文处理
Mar 19 Python
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
Jun 12 Python
python requests使用socks5的例子
Jul 25 Python
Python3+Requests+Excel完整接口自动化测试框架的实现
Oct 11 Python
Python使用configparser库读取配置文件
Feb 22 Python
django项目中新增app的2种实现方法
Apr 01 Python
浅谈Python 命令行参数argparse写入图片路径操作
Jul 12 Python
Selenium结合BeautifulSoup4编写简单的python爬虫
Nov 06 Python
Python实现位图分割的效果
Nov 20 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
在任意字符集下正常显示网页的方法一
2007/04/01 PHP
浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
2013/06/29 PHP
详解PHP防止盗链防止迅雷下载的方法
2017/04/26 PHP
jquery validate.js表单验证的基本用法入门
2010/05/13 Javascript
js 关于=+与+=日期函数使用说明(赋值运算符)
2011/11/15 Javascript
jquery实现metro效果示例代码
2013/09/06 Javascript
JavaScript bold方法入门实例(把指定文字显示为粗体)
2014/10/17 Javascript
JavaScript表格常用操作方法汇总
2015/04/15 Javascript
JavaScript中的函数(二)
2015/12/23 Javascript
jQuery通过ajax方法获取json数据不执行success的原因及解决方法
2016/10/15 Javascript
微信小程序 教程之wxapp视图容器 scroll-view
2016/10/19 Javascript
数组Array的一些方法(总结)
2017/02/17 Javascript
实例解析js中try、catch、finally的执行规则
2017/02/24 Javascript
js动态添加表格逐行添加、删除、遍历取值的实例代码
2018/01/25 Javascript
js设置默认时间跨度过程详解
2019/07/17 Javascript
微信小程序request请求封装,验签代码实例
2019/12/04 Javascript
利用Vue的v-for和v-bind实现列表颜色切换
2020/07/17 Javascript
Python 流程控制实例代码
2009/09/25 Python
浅谈Python2获取中文文件名的编码问题
2018/01/09 Python
python assert的用处示例详解
2019/04/01 Python
学生学习总结的自我评价
2013/10/22 职场文书
师生聚会感言
2014/01/26 职场文书
2014新年元旦活动策划方案
2014/02/18 职场文书
大学军训感言800字
2014/02/27 职场文书
元旦活动感言
2014/03/08 职场文书
我的梦想演讲稿500字
2014/08/21 职场文书
2014年党员个人剖析材料
2014/10/08 职场文书
公司租房协议书范本
2014/10/08 职场文书
办公经费申请报告
2015/05/15 职场文书
入党自传范文2015
2015/06/26 职场文书
《认识钟表》教学反思
2016/02/16 职场文书
JS ES6异步解决方案
2021/04/29 Javascript
mysql 带多个条件的查询方式
2021/06/05 MySQL
python单元测试之pytest的使用
2021/06/07 Python
Java面试题冲刺第十九天--数据库(4)
2021/08/07 Java/Android
Java数据开发辅助工具Docker与普通程序使用方法
2021/09/15 Java/Android