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二叉树遍历的实现方法
Nov 21 Python
Python Tkinter简单布局实例教程
Sep 03 Python
python根据出生年份简单计算生肖的方法
Mar 27 Python
使用Python的Twisted框架实现一个简单的服务器
Apr 16 Python
Python使用BeautifulSoup库解析HTML基本使用教程
Mar 31 Python
Python爬取qq空间说说的实例代码
Aug 17 Python
python3.6下Numpy库下载与安装图文教程
Apr 02 Python
Python如何筛选序列中的元素的方法实现
Jul 15 Python
Python 根据数据模板创建shapefile的实现
Nov 26 Python
Pytorch中膨胀卷积的用法详解
Jan 07 Python
Python多线程多进程实例对比解析
Mar 12 Python
Python的flask接收前台的ajax的post数据和get数据的方法
Apr 12 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代码收集表单内容并写入文件的代码
2012/01/29 PHP
解析CI即CodeIgniter框架在Nginx下的重写规则
2013/06/03 PHP
PHP清除数组中所有字符串两端空格的方法
2014/10/20 PHP
PHP弹出对话框技巧详细解读
2015/09/26 PHP
Yii控制器中filter过滤器用法分析
2016/07/15 PHP
Yii redis集合的基本使用教程
2020/06/14 PHP
xmlHTTP实例
2006/10/24 Javascript
jquery分页插件jpaginate在IE中不兼容问题
2014/04/22 Javascript
JavaScript-RegExp对象只能使用一次问题解决方法
2014/06/23 Javascript
jQuery实现类似淘宝网图片放大效果的方法
2015/07/08 Javascript
JavaScript中removeChild 方法开发示例代码
2016/08/15 Javascript
H5移动端适配 Flexible方案
2016/10/24 Javascript
js 中文汉字转Unicode、Unicode转中文汉字、ASCII转换Unicode、Unicode转换ASCII、中文转换
2016/12/06 Javascript
typescript nodejs 依赖注入实现方法代码详解
2019/07/21 NodeJs
vue中渲染对象中属性时显示未定义的解决
2020/07/31 Javascript
多线程爬虫批量下载pcgame图片url 保存为xml的实现代码
2013/01/17 Python
浅要分析Python程序与C程序的结合使用
2015/04/07 Python
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
2016/06/02 Python
利用Python读取txt文档的方法讲解
2018/06/23 Python
Python实现CNN的多通道输入实例
2020/01/17 Python
python爬虫学习笔记之Beautifulsoup模块用法详解
2020/04/09 Python
如何在django中实现分页功能
2020/04/22 Python
python 基于DDT实现数据驱动测试
2021/02/18 Python
html5 worker 实例(二) 图片变换效果
2013/06/24 HTML / CSS
Bowflex美国官方网站:高级家庭健身器材
2017/12/22 全球购物
Raffaello Network德国:意大利拉斐尔时尚购物网
2019/05/01 全球购物
乌克兰鞋类购物网站:Eobuv.com.ua
2020/11/28 全球购物
Android面试题及答案
2015/09/04 面试题
优秀求职信范文分享
2013/12/19 职场文书
网络工程师自荐书范文
2014/04/01 职场文书
小区物业门卫岗位职责
2014/04/10 职场文书
医院党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
自主招生推荐信怎么写
2015/03/26 职场文书
Python控制台输出俄罗斯方块移动和旋转功能
2021/04/18 Python
Python中Cookies导出某站用户数据的方法
2021/05/17 Python
Django migrate报错的解决方案
2021/05/20 Python