1. 程式人生 > 程式設計 >Python2.7:使用Pyhook模組監聽滑鼠鍵盤事件-獲取座標例項

Python2.7:使用Pyhook模組監聽滑鼠鍵盤事件-獲取座標例項

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.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模組監聽滑鼠鍵盤事件-獲取座標例項就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。