最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題1500TAG最新視頻文章視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

Python捕捉和模擬鼠標(biāo)事件的方法

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 14:41:10
文檔

Python捕捉和模擬鼠標(biāo)事件的方法

Python捕捉和模擬鼠標(biāo)事件的方法:本文實(shí)例講述了Python捕捉和模擬鼠標(biāo)事件的方法。分享給大家供大家參考。具體分析如下: 這個(gè)假期玩了不少galgame,不過(guò)有些很老的游戲沒(méi)有自動(dòng)運(yùn)行模式,點(diǎn)擊鼠標(biāo)又太傷按鍵了,于是想把滾動(dòng)鼠標(biāo)滾輪映射為點(diǎn)擊鼠標(biāo)。 網(wǎng)上搜了一下,沒(méi)發(fā)現(xiàn)什么現(xiàn)成的軟件,
推薦度:
導(dǎo)讀Python捕捉和模擬鼠標(biāo)事件的方法:本文實(shí)例講述了Python捕捉和模擬鼠標(biāo)事件的方法。分享給大家供大家參考。具體分析如下: 這個(gè)假期玩了不少galgame,不過(guò)有些很老的游戲沒(méi)有自動(dòng)運(yùn)行模式,點(diǎn)擊鼠標(biāo)又太傷按鍵了,于是想把滾動(dòng)鼠標(biāo)滾輪映射為點(diǎn)擊鼠標(biāo)。 網(wǎng)上搜了一下,沒(méi)發(fā)現(xiàn)什么現(xiàn)成的軟件,

本文實(shí)例講述了Python捕捉和模擬鼠標(biāo)事件的方法。分享給大家供大家參考。具體分析如下:

這個(gè)假期玩了不少galgame,不過(guò)有些很老的游戲沒(méi)有自動(dòng)運(yùn)行模式,點(diǎn)擊鼠標(biāo)又太傷按鍵了,于是想把滾動(dòng)鼠標(biāo)滾輪映射為點(diǎn)擊鼠標(biāo)。

網(wǎng)上搜了一下,沒(méi)發(fā)現(xiàn)什么現(xiàn)成的軟件,而按鍵精靈又太重量級(jí)了,于是考慮干脆自己用Python寫(xiě)個(gè)算了。

這里需要把PyHook和PyWin32都裝上(建議下exe版,免得安裝時(shí)各種蛋疼)。

翻了翻教程,發(fā)現(xiàn)實(shí)現(xiàn)起來(lái)很簡(jiǎn)單:

# -*- coding: utf-8 -*- 
import pythoncom, 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 '---' 
 # 返回 True 可將事件傳給其它處理程序,否則停止傳播事件 
 return True 
# 創(chuàng)建鉤子管理對(duì)象 
hm = pyHook.HookManager() 
# 監(jiān)聽(tīng)所有鼠標(biāo)事件 
hm.MouseAll = OnMouseEvent # 等效于hm.SubscribeMouseAll(OnMouseEvent) 
# 開(kāi)始監(jiān)聽(tīng)鼠標(biāo)事件 
hm.HookMouse() 
# 一直監(jiān)聽(tīng),直到手動(dòng)退出程序 
pythoncom.PumpMessages()

這個(gè)例子程序捕捉了所有的鼠標(biāo)事件,實(shí)際上我只需要捕捉向下滾動(dòng)滾輪的事件即可。翻了下文檔,對(duì)應(yīng)的是MouseWheel,之后只要判斷event.Wheel是否為-1即可。

最后就是觸發(fā)鼠標(biāo)點(diǎn)擊了,這就需要用到win32api.mouse_event()了,發(fā)送一個(gè)按下鼠標(biāo)左鍵的事件,再發(fā)送彈起的事件,就完成一次單擊了。

最終代碼如下:

# -*- coding: utf-8 -*- 
import pythoncom 
import pyHook 
import time 
import win32api 
import win32con 
def onMouseWheel(event): 
 if event.Wheel == -1: 
 win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0) 
 time.sleep(0.05) 
 win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0) 
 return True 
hm = pyHook.HookManager() 
hm.MouseWheel = onMouseWheel 
hm.HookMouse() 
pythoncom.PumpMessages() 

希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

文檔

Python捕捉和模擬鼠標(biāo)事件的方法

Python捕捉和模擬鼠標(biāo)事件的方法:本文實(shí)例講述了Python捕捉和模擬鼠標(biāo)事件的方法。分享給大家供大家參考。具體分析如下: 這個(gè)假期玩了不少galgame,不過(guò)有些很老的游戲沒(méi)有自動(dòng)運(yùn)行模式,點(diǎn)擊鼠標(biāo)又太傷按鍵了,于是想把滾動(dòng)鼠標(biāo)滾輪映射為點(diǎn)擊鼠標(biāo)。 網(wǎng)上搜了一下,沒(méi)發(fā)現(xiàn)什么現(xiàn)成的軟件,
推薦度:
標(biāo)簽: 捕捉 模擬 python
  • 熱門(mén)焦點(diǎn)

热门图文

猜你喜歡

專(zhuān)題
Top
fffffffffffff

抖音扫码关注

手机端二维码

每天分享百科知识!