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浅复制中对象生存周期实例分析
Apr 02 Python
Python处理命令行参数模块optpars用法实例分析
May 31 Python
ubuntu17.4下为python和python3装上pip的方法
Jun 12 Python
Python实现FTP弱口令扫描器的方法示例
Jan 31 Python
Python查找最长不包含重复字符的子字符串算法示例
Feb 13 Python
Django+Xadmin构建项目的方法步骤
Mar 06 Python
Python基于pyecharts实现关联图绘制
Mar 27 Python
Python3爬虫中识别图形验证码的实例讲解
Jul 30 Python
python如何写个俄罗斯方块
Nov 06 Python
如何用Python进行时间序列分解和预测
Mar 01 Python
Python基础之tkinter图形化界面学习
Apr 29 Python
Python实现GIF动图以及视频卡通化详解
Dec 06 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
第五节 克隆 [5]
2006/10/09 PHP
php header功能的使用
2013/10/28 PHP
PHP list() 将数组中的值赋给变量的简单实例
2016/06/13 PHP
Javascript实现的分页函数
2006/12/22 Javascript
js出生日期 年月日级联菜单示例代码
2014/01/10 Javascript
jQuery获取复选框被选中数量及判断选择值的方法详解
2016/05/25 Javascript
整理关于Bootstrap模态弹出框的慕课笔记
2017/03/29 Javascript
Express + Node.js实现登录拦截器的实例代码
2017/07/01 Javascript
详解React native全局变量的使用(跨组件的通信)
2017/09/07 Javascript
解决Vue2.0中使用less给元素添加背景图片出现的问题
2018/09/03 Javascript
Vue项目打包编译优化方案
2020/09/16 Javascript
[03:10]2014DOTA2 TI马来劲旅Titan首战告捷目标只是8强
2014/07/10 DOTA
在漏洞利用Python代码真的很爽
2007/08/26 Python
python排序方法实例分析
2015/04/30 Python
Python 40行代码实现人脸识别功能
2017/04/02 Python
使用Python的Django和layim实现即时通讯的方法
2018/05/25 Python
使用11行Python代码盗取了室友的U盘内容
2018/10/23 Python
使用python将时间转换为指定的格式方法
2018/11/12 Python
Python 实现一个手机号码获取妹子名字的功能
2019/09/25 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
2020/02/25 Python
python代码xml转txt实例
2020/03/10 Python
jupyter notebook oepncv 显示一张图像的实现
2020/04/24 Python
python 爬虫请求模块requests详解
2020/12/04 Python
python中类与对象之间的关系详解
2020/12/16 Python
关于CSS Tooltips(鼠标经过时显示)的效果
2013/04/10 HTML / CSS
美国CVS药店官网:CVS Pharmacy
2018/07/26 全球购物
Pedro官网:新加坡时尚品牌
2019/08/27 全球购物
网页设计个人找工作求职信
2013/11/28 职场文书
领导证婚人证婚词
2014/01/13 职场文书
百年校庆节目主持词
2014/03/27 职场文书
护理专业求职信
2014/06/15 职场文书
大学生党校培训心得体会
2014/09/11 职场文书
街道办残联2016年助残日活动总结
2016/04/01 职场文书
Nginx的基本概念和原理
2022/03/21 Servers
「睡美人」爱洛公主粘土人开订
2022/03/22 日漫
MySQL导致索引失效的几种情况
2022/06/25 MySQL