溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python2.7:使用Pyhook模塊監(jiān)聽鼠標(biāo)鍵盤事件-獲取坐標(biāo)實(shí)例

發(fā)布時間:2020-10-05 21:14:41 來源:腳本之家 閱讀:180 作者:Damon_1992 欄目:開發(fā)技術(shù)

Python2.7: 使用Pyhook模塊監(jiān)聽鼠標(biāo)鍵盤事件-獲取坐標(biāo)。因該模塊對Python3 有兼容性問題,故采用python2.7解釋器。

原程序可監(jiān)聽所有事件,現(xiàn)注釋掉部分功能,只輸出鼠標(biāo)左鍵觸發(fā)的坐標(biāo),用于獲取坐標(biāo),方便自動化取點(diǎn)。

# -*- coding: utf-8 -*-
#
#
import pythoncom
import pyHook
 
def onMouseEvent(event):
  # 監(jiān)聽鼠標(biāo)事件
  # 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 ,則鼠標(biāo)事件將被全部攔截
  # 也就是說你的鼠標(biāo)看起來會僵在那兒,似乎失去響應(yīng)了
	return True
 
def onKeyboardEvent(event):
  # 監(jiān)聽鍵盤事件
  # 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 ("---")
 
  # 同鼠標(biāo)事件監(jiān)聽函數(shù)的返回值
	return True
 
def main():
  # 創(chuàng)建一個“鉤子”管理對象
  hm = pyHook.HookManager()
 
  # 監(jiān)聽所有鍵盤事件
  #hm.KeyDown = onKeyboardEvent
  # 設(shè)置鍵盤“鉤子”
  #hm.HookKeyboard()
 
  # 監(jiān)聽所有鼠標(biāo)事件
  hm.MouseAll = onMouseEvent
  # 設(shè)置鼠標(biāo)“鉤子”
  hm.HookMouse()
 
  # 進(jìn)入循環(huán),如不手動關(guān)閉,程序?qū)⒁恢碧幱诒O(jiān)聽狀態(tài)
  pythoncom.PumpMessages()
 
if __name__ == "__main__":
  main()

補(bǔ)充知識:python 工具mouse_find 鼠標(biāo)定位

我就廢話不多說了,還是直接看代碼吧!

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

以上這篇Python2.7:使用Pyhook模塊監(jiān)聽鼠標(biāo)鍵盤事件-獲取坐標(biāo)實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI