欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2024年07月26日 16:55:50   作者:xm1331305  
這篇文章主要介紹了Python捕捉和模擬鼠標(biāo)事件的方法,涉及PyHook和PyWin32模塊的使用技巧,需要的朋友可以參考下

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

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

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

這里需要把PyHook和PyWin32都裝上(建議下exe版,免得安裝時(shí)各種報(bào)錯(cuò))。

翻了翻教程,發(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)聽所有鼠標(biāo)事件 
hm.MouseAll = OnMouseEvent # 等效于hm.SubscribeMouseAll(OnMouseEvent) 
# 開始監(jiān)聽鼠標(biāo)事件 
hm.HookMouse() 
# 一直監(jiān)聽,直到手動(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ì)有所幫助。

相關(guān)文章

  • 使用TFRecord存取多個(gè)數(shù)據(jù)案例

    使用TFRecord存取多個(gè)數(shù)據(jù)案例

    今天小編就為大家分享一篇使用TFRecord存取多個(gè)數(shù)據(jù)案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • Python統(tǒng)計(jì)詞頻并繪制圖片(附完整代碼)

    Python統(tǒng)計(jì)詞頻并繪制圖片(附完整代碼)

    這篇文章主要介紹了Python統(tǒng)計(jì)詞頻并繪制圖片(附完整代碼)本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • Python3中使用PyMongo的方法詳解

    Python3中使用PyMongo的方法詳解

    平常在處理數(shù)據(jù)的時(shí)候,必不可少地要使用數(shù)據(jù)庫(kù)存取數(shù)據(jù),出于一些原因,個(gè)人非常喜歡MongoDB這個(gè)數(shù)據(jù)庫(kù)。下面這篇文章主要給大家介紹了Python3中使用PyMongo的方法示例,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-07-07
  • python中doctest庫(kù)實(shí)例用法

    python中doctest庫(kù)實(shí)例用法

    在本篇文章里小編給大家整理的是一篇關(guān)于python中doctest庫(kù)實(shí)例用法的相關(guān)內(nèi)容,有需要的朋友們可以學(xué)習(xí)參考下。
    2020-12-12
  • 關(guān)于Pyinstaller打包eel和pygame需要注意的坑

    關(guān)于Pyinstaller打包eel和pygame需要注意的坑

    這篇文章主要介紹了關(guān)于Pyinstaller打包eel和pygame需要注意的坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • python簡(jiǎn)單實(shí)現(xiàn)矩陣的乘,加,轉(zhuǎn)置和逆運(yùn)算示例

    python簡(jiǎn)單實(shí)現(xiàn)矩陣的乘,加,轉(zhuǎn)置和逆運(yùn)算示例

    這篇文章主要介紹了python簡(jiǎn)單實(shí)現(xiàn)矩陣的乘,加,轉(zhuǎn)置和逆運(yùn)算,結(jié)合實(shí)例形式分析了Python針對(duì)矩陣的乘,加,轉(zhuǎn)置和求逆等運(yùn)算相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-07-07
  • pytorch 實(shí)現(xiàn)模型不同層設(shè)置不同的學(xué)習(xí)率方式

    pytorch 實(shí)現(xiàn)模型不同層設(shè)置不同的學(xué)習(xí)率方式

    今天小編就為大家分享一篇pytorch 實(shí)現(xiàn)模型不同層設(shè)置不同的學(xué)習(xí)率方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • Python實(shí)現(xiàn)多功能音樂播放器詳解

    Python實(shí)現(xiàn)多功能音樂播放器詳解

    這篇文章主要介紹了如何通過(guò)Python制作一個(gè)簡(jiǎn)易的音樂播放器,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定價(jià)值,需要的可以參考一下
    2022-02-02
  • pandas數(shù)據(jù)集的端到端處理

    pandas數(shù)據(jù)集的端到端處理

    今天小編就為大家分享一篇關(guān)于pandas數(shù)據(jù)集的端到端處理,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02
  • ?分享4款Python 自動(dòng)數(shù)據(jù)分析神器

    ?分享4款Python 自動(dòng)數(shù)據(jù)分析神器

    這篇文章主要給大家分享的是4款Python 自動(dòng)數(shù)據(jù)分析神器,我給大家分享 4 款常用的EDA工具,它們可以自動(dòng)產(chǎn)出統(tǒng)計(jì)數(shù)據(jù)和圖表,為我們節(jié)省大量時(shí)間,需要的朋友可以參考一下
    2022-03-03

最新評(píng)論