Python2.7:使用Pyhook模塊監(jiān)聽鼠標(biāo)鍵盤事件-獲取坐標(biāo)實(shí)例
Python2.7: 使用Pyhook模塊監(jiān)聽鼠標(biāo)鍵盤事件-獲取坐標(biāo)。因該模塊對Python3 有兼容性問題,故采用python2.7解釋器。
原程序可監(jiān)聽所有事件,現(xiàn)注釋掉部分功能,只輸出鼠標(biāo)左鍵觸發(fā)的坐標(biāo),用于獲取坐標(biāo),方便自動(dòng)化取點(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)看起來會(huì)僵在那兒,似乎失去響應(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)建一個(gè)“鉤子”管理對象
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),如不手動(dòng)關(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)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- python點(diǎn)擊鼠標(biāo)獲取坐標(biāo)(Graphics)
- python 讀取鼠標(biāo)點(diǎn)擊坐標(biāo)的實(shí)例
- Python鼠標(biāo)事件及坐標(biāo)獲取窗口和屏幕坐標(biāo)
- python opencv鼠標(biāo)事件實(shí)現(xiàn)畫框圈定目標(biāo)獲取坐標(biāo)信息
- python 五子棋如何獲得鼠標(biāo)點(diǎn)擊坐標(biāo)
- 基于python實(shí)現(xiàn)鼠標(biāo)實(shí)時(shí)坐標(biāo)監(jiān)測
- 一文詳解如何使用Python實(shí)時(shí)輸出鼠標(biāo)坐標(biāo)
相關(guān)文章
python實(shí)現(xiàn)在cmd窗口顯示彩色文字
今天小編就為大家分享一篇python實(shí)現(xiàn)在cmd窗口顯示彩色文字,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06
編寫Python爬蟲抓取豆瓣電影TOP100及用戶頭像的方法
這篇文章主要介紹了編寫Python爬蟲抓取豆瓣電影TOP100及用戶頭像的方法,用到了Python的urllib和urllib2模塊,需要的朋友可以參考下2016-01-01
Python實(shí)現(xiàn)的網(wǎng)頁截圖功能【PyQt4與selenium組件】
這篇文章主要介紹了Python實(shí)現(xiàn)的網(wǎng)頁截圖功能,結(jié)合實(shí)例形式分別描述了使用PyQt4組件與selenium組件進(jìn)行網(wǎng)頁截圖操作的相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下2018-07-07
Python中內(nèi)置函數(shù)filter函數(shù)用法詳解
filter()函數(shù)是Python內(nèi)置的另一個(gè)有用的高階函數(shù),filter()函數(shù)接收一個(gè)函數(shù)f和一個(gè)序列,函數(shù)f的作用是對每個(gè)元素進(jìn)行判斷,返回True或False,下面這篇文章主要給大家介紹了關(guān)于Python中內(nèi)置函數(shù)filter函數(shù)用法的相關(guān)資料,需要的朋友可以參考下2024-05-05
Python內(nèi)置函數(shù)reversed()用法分析
這篇文章主要介紹了Python內(nèi)置函數(shù)reversed()用法,結(jié)合實(shí)例形式分析了reversed()函數(shù)的功能及針對序列元素相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下2018-03-03
pytorch和tensorflow計(jì)算Flops和params的詳細(xì)過程
這篇文章主要介紹了pytorch和tensorflow計(jì)算Flops和params,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08
Python字符串格式化format()方法運(yùn)用實(shí)例
這篇文章主要給大家介紹了關(guān)于Python字符串格式化format()方法運(yùn)用實(shí)例的相關(guān)資料,字符串格式化是Python編程中十分常用的部分,它可以幫助我們將更具可讀性的數(shù)據(jù)輸出到控制臺或?qū)懭胛募?需要的朋友可以參考下2023-08-08
OpenCV圖像識別之姿態(tài)估計(jì)Pose?Estimation學(xué)習(xí)
這篇文章主要為大家介紹了OpenCV圖像識別之姿態(tài)估計(jì)Pose?Estimation學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05

