Python2.7:使用Pyhook模块监听鼠标键盘事件-获取坐标实例


Posted in Python onMarch 14, 2020

Python2.7: 使用Pyhook模块监听鼠标键盘事件-获取坐标。因该模块对Python3 有兼容性问题,故采用python2.7解释器。

原程序可监听所有事件,现注释掉部分功能,只输出鼠标左键触发的坐标,用于获取坐标,方便自动化取点。

# -*- coding: utf-8 -*-
#
#
import pythoncom
import pyHook
 
def onMouseEvent(event):
  # 监听鼠标事件
  # print ("MessageName:", event.MessageName)
  # print ("Message:", event.Message)
  # print ("Time:", event.Time)
  # print ("Window:", event.Window)
  # print ("WindowName:", event.WindowName)
  # print ("Position:", event.Position)
  # print ("Wheel:", event.Wheel)
  # print ("Injected:", event.Injected)
  # print ("---")
	if event.MessageName == 'mouse left down':
		print 'mouse left down'
		print ("Position:", event.Position)
 
  # 返回 True 以便将事件传给其它处理程序
  # 注意,这儿如果返回 False ,则鼠标事件将被全部拦截
  # 也就是说你的鼠标看起来会僵在那儿,似乎失去响应了
	return True
 
def onKeyboardEvent(event):
  # 监听键盘事件
  # print ("MessageName:", event.MessageName)
  # print ("Message:", event.Message)
  # print ("Time:", event.Time)
  # print ("Window:", event.Window)
  # print ("WindowName:", event.WindowName)
  # print ("Ascii:", event.Ascii, chr(event.Ascii))
  # print ("Key:", event.Key)
  # print ("KeyID:", event.KeyID)
  # print ("ScanCode:", event.ScanCode)
  # print ("Extended:", event.Extended)
  # print ("Injected:", event.Injected)
  # print ("Alt", event.Alt)
  # print ("Transition", event.Transition)
  # print ("---")
 
  # 同鼠标事件监听函数的返回值
	return True
 
def main():
  # 创建一个“钩子”管理对象
  hm = pyHook.HookManager()
 
  # 监听所有键盘事件
  #hm.KeyDown = onKeyboardEvent
  # 设置键盘“钩子”
  #hm.HookKeyboard()
 
  # 监听所有鼠标事件
  hm.MouseAll = onMouseEvent
  # 设置鼠标“钩子”
  hm.HookMouse()
 
  # 进入循环,如不手动关闭,程序将一直处于监听状态
  pythoncom.PumpMessages()
 
if __name__ == "__main__":
  main()

补充知识:python 工具mouse_find 鼠标定位

我就废话不多说了,还是直接看代码吧!

import os,time
import pyautogui as pag
try:
  while True:
      print ("Press Ctrl-C to end")
      x,y = pag.position() #返回鼠标的坐标
      posStr="Position:"+str(x).rjust(4)+','+str(y).rjust(4)
      print (posStr)#打印坐标
      time.sleep(0.2)
      os.system('cls')#清楚屏幕
except KeyboardInterrupt:
  print( 'end....')

以上这篇Python2.7:使用Pyhook模块监听鼠标键盘事件-获取坐标实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python是编译运行的验证方法
Jan 30 Python
Python如何实现文本转语音
Aug 08 Python
Python面向对象特殊成员
Apr 24 Python
基于Django filter中用contains和icontains的区别(详解)
Dec 12 Python
python3+PyQt5实现柱状图
Apr 24 Python
Python使用pandas处理CSV文件的实例讲解
Jun 22 Python
python保存二维数组到txt文件中的方法
Nov 15 Python
很酷的python表白工具 你喜欢我吗
Apr 11 Python
python实现统计文本中单词出现的频率详解
May 20 Python
浅析pandas 数据结构中的DataFrame
Oct 12 Python
解决windows下python3使用multiprocessing.Pool出现的问题
Apr 08 Python
python编写函数注意事项总结
Mar 29 Python
python matplotlib包图像配色方案分享
Mar 14 #Python
python 使用cx-freeze打包程序的实现
Mar 14 #Python
python matplotlib imshow热图坐标替换/映射实例
Mar 14 #Python
python pyqtgraph 保存图片到本地的实例
Mar 14 #Python
Python 实现将大图切片成小图,将小图组合成大图的例子
Mar 14 #Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
Mar 14 #Python
python matplotlib 绘图 和 dpi对应关系详解
Mar 14 #Python
You might like
php调用c接口无错版介绍
2014/03/11 PHP
PHP带节点操作的无限分类实现方法详解
2016/11/09 PHP
javascript编程起步(第六课)
2007/02/27 Javascript
几款极品的javascript压缩混淆工具
2007/05/16 Javascript
关于setInterval、setTimeout在jQuery中的使用注意事项
2011/09/28 Javascript
JS防止用户多次提交的简单代码
2013/08/01 Javascript
Javascript学习笔记之 对象篇(四) : for in 循环
2014/06/24 Javascript
javascript刷新父页面的各种方法汇总
2014/09/03 Javascript
Jquery焦点图实例代码
2014/11/25 Javascript
Javascript基础教程之数据类型 (布尔型 Boolean)
2015/01/18 Javascript
AngularJS基础 ng-list 指令详解及示例代码
2016/08/02 Javascript
nodejs基于mssql模块连接sqlserver数据库的简单封装操作示例
2018/01/05 NodeJs
详解JS判断页面是在手机端还是在PC端打开的方法
2019/04/26 Javascript
vue实现购物车加减
2020/05/30 Javascript
Element Badge标记的使用方法
2020/07/27 Javascript
Python smallseg分词用法实例分析
2015/05/28 Python
浅谈flask中的before_request与after_request
2018/01/20 Python
python实现按长宽比缩放图片
2018/06/07 Python
Python实现的文轩网爬虫完整示例
2019/05/16 Python
wxPython实现文本框基础组件
2019/11/18 Python
tensorflow使用range_input_producer多线程读取数据实例
2020/01/20 Python
Python eval函数介绍及用法
2020/11/09 Python
有关HTML5页面在iPhoneX适配问题
2017/11/13 HTML / CSS
Lululemon加拿大官网:加拿大知名体育服装零售商
2019/04/12 全球购物
碧欧泉Biotherm加拿大官方网站:法国高端护肤品牌
2019/10/18 全球购物
自1926年以来就为冰岛保持温暖:66°North
2020/11/27 全球购物
大专生自我鉴定范文
2013/10/01 职场文书
自我评价怎么写正确呢?
2013/12/02 职场文书
父亲八十大寿答谢词
2014/01/23 职场文书
县优秀教师事迹材料
2014/01/31 职场文书
2014市国税局对照检查材料思想汇报
2014/09/23 职场文书
代办出身证明书
2014/10/21 职场文书
安全先进班组材料
2014/12/26 职场文书
家长意见和建议怎么写
2015/06/04 职场文书
学术会议领导致辞
2015/07/29 职场文书
2007年老电脑安装win11会怎么样? 网友实测win11在老电脑运行良好
2021/11/21 数码科技