使用python监听模拟鼠标键盘事件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用python监听模拟鼠标键盘事件相关的知识,希望对你有一定的参考价值。
最近守望职业选手疑似开挂事件挺热闹的,在下小菜一枚,并不能从视频中看出端倪。看了一些关于外挂的讨论,自动点射和压枪只需在鼠标驱动上做些改动即可,自瞄或其他高级功能则需要读内存或修改游戏文件,检测也更容易。
士兵76长按左键扫射4发子弹之后准星就会小范围随机飘,所以想自己实现一个长按左键变自动点射的程序。
仅作测试使用,鄙视一切外挂,玩游戏就好好玩。
选择使用python,用到的库pyHook,pywin32
pyHook的文档:http://pyhook.sourceforge.net/doc_1.5.0/
接下来照着文档写就可以了,代码如下
1 # coding: utf-8 2 3 import pythoncom 4 import pyHook 5 import win32api 6 import win32con 7 import time 8 import threading 9 import random 10 11 def send_click(): 12 global down_num,up_num 13 while(1): 14 if down_num!=up_num: 15 win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) 16 #连射多少秒,大约0.1秒一发子弹 17 time.sleep(random.uniform(0.38,0.42)) 18 win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0) 19 #连发之间的停顿时间 20 time.sleep(random.uniform(0.25,0.29)) 21 print ‘click ok‘ 22 23 def onMouse_leftdown(event): 24 # 监听鼠标左键按下事件 25 global down_num 26 down_num += 1 27 print "left DOWN DOWN"+str(down_num) 28 return True 29 # 返回 True 表示响应此事件,False表示拦截 30 31 def onMouse_leftup(event): 32 # 监听鼠标左键弹起事件 33 global up_num 34 up_num += 1 35 print "left UP UP UP"+str(up_num) 36 return True 37 38 def main(): 39 hm = pyHook.HookManager() 40 41 hm.MouseLeftDown = onMouse_leftdown 42 hm.MouseLeftUp = onMouse_leftup 43 44 hm.HookMouse() 45 46 # 进入循环,如不手动关闭,程序将一直处于监听状态 47 pythoncom.PumpMessages() 48 49 if __name__ == "__main__": 50 down_num = 0 51 up_num = 0 52 # 新线程执行的代码: 53 print(‘thread %s is running...‘ % threading.current_thread().name) 54 t = threading.Thread(target=send_click, name=‘sendThread‘) 55 t.start() 56 #t.join() 57 main()
效果是出来了,然而并没有什么卵用。
以上是关于使用python监听模拟鼠标键盘事件的主要内容,如果未能解决你的问题,请参考以下文章
python pynput鼠标键盘监控(详细)第2部键盘监控tcy
Java JTable 添加了一个键盘事件,和鼠标点击事件的监听,如何在我键盘事件起作用时,让鼠标事件失效