国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

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

2020-02-23 01:32:35
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(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ì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 阜南县| 左权县| 资阳市| 英山县| 隆德县| 崇义县| 揭阳市| 文化| 任丘市| 崇文区| 新宁县| 泰宁县| 沂源县| 枣强县| 仪陇县| 宣武区| 尉犁县| 安溪县| 成都市| 石首市| 和硕县| 门头沟区| 寻甸| 广州市| 呼玛县| 定边县| 米脂县| 寿光市| 岳普湖县| 弥勒县| 文成县| 保山市| 大埔县| 沙雅县| 民和| 巴里| 怀化市| 秀山| 桓仁| 贵港市| 泰州市|