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中mechanize库的简单使用示例
Jan 10 Python
Python Django使用forms来实现评论功能
Aug 17 Python
python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法
Feb 14 Python
Python实现运行其他程序的四种方式实例分析
Aug 17 Python
Python 处理图片像素点的实例
Jan 08 Python
使用Django搭建web服务器的例子(最最正确的方式)
Aug 29 Python
利用Python绘制Jazz网络图的例子
Nov 21 Python
pycharm下pyqt4安装及环境配置的教程
Apr 24 Python
Python 基于jwt实现认证机制流程解析
Jun 22 Python
解决python3.6用cx_Oracle库连接Oracle的问题
Dec 07 Python
python人工智能human learn绘图可创建机器学习模型
Nov 23 Python
python前后端自定义分页器
Apr 13 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
图片存储与浏览一例(Linux+Apache+PHP+MySQL)
2006/10/09 PHP
php面向对象全攻略 (十一)__toString()用法 克隆对象 __call处理调用错误
2009/09/30 PHP
PHP Socket 编程
2010/04/09 PHP
PHP验证信用卡卡号是否正确函数
2015/05/27 PHP
php正则匹配文章中的远程图片地址并下载图片至本地
2015/09/29 PHP
PHP的PDO常用类库实例分析
2016/04/07 PHP
javascript innerHTML、outerHTML、innerText、outerText的区别
2008/11/24 Javascript
IE和FireFox(FF)中js和css的不同
2009/04/13 Javascript
js去除重复字符串两种实现方法
2013/01/09 Javascript
最好用的省市二级联动 原生js实现你值得拥有
2013/09/22 Javascript
JS实现控制表格单元格垂直对齐的方法
2015/03/30 Javascript
分享十五款 jQuery 社交网络分享插件
2015/05/16 Javascript
详解JavaScript对象类型
2016/06/16 Javascript
深入理解javascript的getTime()方法
2017/02/16 Javascript
vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
2017/08/04 Javascript
详解Vue双向数据绑定原理解析
2017/09/11 Javascript
vue-cli3.0+element-ui上传组件el-upload的使用
2018/12/03 Javascript
JavaScript创建对象的四种常用模式实例分析
2019/01/11 Javascript
微信小程序页面调用自定义组件内的事件详解
2019/09/12 Javascript
JS实现压缩上传图片base64长度功能
2019/12/03 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
haskell实现多线程服务器实例代码
2013/11/26 Python
Python设计模式之观察者模式实例
2014/04/26 Python
使用Python实现BT种子和磁力链接的相互转换
2015/11/09 Python
全球性的奢侈品梦工厂:Forzieri(福喜利)
2019/02/20 全球购物
瑞士图书网站:Weltbild.ch
2019/09/17 全球购物
护士自我鉴定范文
2013/10/06 职场文书
商场端午节活动方案
2014/01/29 职场文书
大学生就业策划书范文
2014/04/04 职场文书
三月学雷锋月活动总结
2014/04/28 职场文书
放假通知
2015/04/14 职场文书
幼儿园庆元旦主持词
2015/07/06 职场文书
2015年工会工作总结范文
2015/07/23 职场文书
小学校长开学致辞
2015/07/29 职场文书
python内置进制转换函数的操作
2021/06/02 Python
使用canvas仿Echarts实现金字塔图的实例代码
2021/11/11 HTML / CSS