使用python监听、模拟鼠标键盘事件
最近守望职业选手疑似开挂事件挺热闹的,在下小菜一枚,并不能从视频中看出端倪。看了一些关于外挂的讨论,自动点射和压枪只需在鼠标驱动上做些改动即可,自瞄或其他高级功能则需要读内存或修改游戏文件,检测也更容易。
士兵76长按左键扫射4发子弹之后准星就会小范围随机飘,所以想自己实现一个长按左键变自动点射的程序。
仅作测试使用,鄙视一切外挂,玩游戏就好好玩。
选择使用python,用到的库pyHook,pywin32
pyHook的文档:http://pyhook.sourceforge.net/doc_1.5.0/
接下来照着文档写就可以了,代码如下
# coding: utf-8 import pythoncom
import pyHook
import win32api
import win32con
import time
import threading
import random def send_click():
global down_num,up_num
while(1):
if down_num!=up_num:
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
#连射多少秒,大约0.1秒一发子弹
time.sleep(random.uniform(0.38,0.42))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
#连发之间的停顿时间
time.sleep(random.uniform(0.25,0.29))
print 'click ok' def onMouse_leftdown(event):
# 监听鼠标左键按下事件
global down_num
down_num += 1
print "left DOWN DOWN"+str(down_num)
return True
# 返回 True 表示响应此事件,False表示拦截 def onMouse_leftup(event):
# 监听鼠标左键弹起事件
global up_num
up_num += 1
print "left UP UP UP"+str(up_num)
return True def main():
hm = pyHook.HookManager() hm.MouseLeftDown = onMouse_leftdown
hm.MouseLeftUp = onMouse_leftup hm.HookMouse() # 进入循环,如不手动关闭,程序将一直处于监听状态
pythoncom.PumpMessages() if __name__ == "__main__":
down_num = 0
up_num = 0
# 新线程执行的代码:
print('thread %s is running...' % threading.current_thread().name)
t = threading.Thread(target=send_click, name='sendThread')
t.start()
#t.join()
main()
效果是出来了,然而并没有什么卵用。
使用python监听、模拟鼠标键盘事件的更多相关文章
- Linux 模拟 鼠标 键盘 事件
/************************************************************************ * Linux 模拟 鼠标 键盘 事件 * 说明: ...
- vue使用element-ui的el-input监听不了键盘事件解决
vue使用element-ui的el-input监听不了键盘事件,原因应该是element-ui自身封装了一层div在input标签外面,把原来的事件隐藏了,所以如下代码运行是无响应的: <el ...
- 由chrome剪贴板问题研究到了js模拟鼠标键盘事件
写在前面 最近公司在搞浏览器兼容的事情,所有浏览器兼容的问题不得不一个人包了.下面来说一下今天遇到的一个问题吧 大家都知道IE下面如果要获得剪贴板里面的信息的话,代码应该如下所示 window.cli ...
- JAVA之旅(三十一)——JAVA的图形化界面,GUI布局,Frame,GUI事件监听机制,Action事件,鼠标事件
JAVA之旅(三十一)--JAVA的图形化界面,GUI布局,Frame,GUI事件监听机制,Action事件,鼠标事件 有段时间没有更新JAVA了,我们今天来说一下JAVA中的图形化界面,也就是GUI ...
- 用Python监听鼠标和键盘事件
PyHook是一个基于Python的“钩子”库,主要用于监听当前电脑上鼠标和键盘的事件.这个库依赖于另一个Python库PyWin32,如同名字所显示的,PyWin32只能运行在Windows平台,所 ...
- Python——pyHook监听鼠标键盘事件
pyHook包为Windows中的全局鼠标和键盘事件提供回调. 底层C库报告的信息包括事件的时间,事件发生的窗口名称,事件的值,任何键盘修饰符等. 而正常工作需要pythoncom等操作系统的API的 ...
- js中对arry数组的各种操作小结 瀑布流AJAX无刷新加载数据列表--当页面滚动到Id时再继续加载数据 web前端url传递值 js加密解密 HTML中让表单input等文本框为只读不可编辑的方法 js监听用户的键盘敲击事件,兼容各大主流浏览器 HTML特殊字符
js中对arry数组的各种操作小结 最近工作比较轻松,于是就花时间从头到尾的对js进行了详细的学习和复习,在看书的过程中,发现自己平时在做项目的过程中有很多地方想得不过全面,写的不够合理,所以说啊 ...
- js监听用户的键盘敲击事件,兼容各大主流浏览器
js监听用户的键盘敲击事件,兼容各大主流浏览器 <script type="text/javascript"> document.onkeydown = functio ...
- js 监听手机端键盘弹出和收起事件
//这里区分不同系统,可以参考之前的文档记录 https://www.cnblogs.com/wind-wang/p/10737110.html const ua = typeof window == ...
随机推荐
- android键盘事件
在main.xml文件中代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout ...
- Qt使用AES加密算法对字符串进行加密
因工作需要,需要对字符串进行加密处理,在网上找了很长时间,终于找到了一个可以使用的aes加密算法.其源代码采用c++编写而成,但其头文件引用windows.h,经过修改部分代码,将#inc ...
- USB挂起与唤醒.
USB可见设备状态分为连接(Attached),上电(Powered),默认(Default),地址(Address),配置(Configured)和挂起(Suspended)6个状态.所谓可见,即U ...
- OpenSuse如何共享目录
如何在SUSE Linux 建立共享文件夹 1./etc/samba/smb.conf 打开配置文档 2.在文档的最后加上共享的文档夹/opt,下面是示例. nte143:/etc/samba # v ...
- border和outline区别
border和outline区别: border支持box-sizing: border-box,当有边距时,是新增了边框后在按照以前的边距处理 outline不支持box-sizing: borde ...
- android 开发工具(转)
一.Android SDK (Android SDK主安装包,包含SDK Manager.AVD Manager.工具包tools,释放后的根文件夹为android-sdk-windows): rev ...
- SignalR2.0开发实例之——负载均衡
SignalR 2.0作为一个新的而且强大的通信工具,发布博客之后得到了很多人的支持,谢谢...也有人对性能和架设等问题提出了各种质疑..真的很感谢.. 我特意下载了SignalR 2.0的源码硬着头 ...
- dijkstra堆优化模板
#include<iostream> #include<cmath> #include<algorithm> #include<cstring> #in ...
- XML预定义的实体
在TSQL读取XML中一些特定的字符时出错,在XML中有些自付要用实体: 下面是五个在XML文档中预定义好的实体: < < 小于号 > > 大于号 & & 和 ...
- javascript各种专业名词
刚开始学javascript经常看到各种专业名词,在此整理一下个人的学习笔记: 直接量 直接量——就是程序中直接使用的数据值,如:88 //数字(String)"hello world ...