请问用Python能否做网页游戏的后台模拟鼠标类的脚本么

做外挂语言不是重点 重点在于你想写的外挂的种类以及对应的知识了解程度比如模拟按键类的 你需要对图像匹配和消息模式有一些了解 关键call类的 你需要对注入 钩子 汇编有一些了解脱机挂的话就需要你对计算机网络有很高了解语言总不是重点 重点都是背后的事情只说1吧 其实很方便 python对于winapi的支持还是不错的 做后台的话你需要了解一下windows的消息队列和消息发送处理方式以及句柄的概念
■网友
后台模拟键盘的话需要修改内存,但是我做的是有关地下城的脚本,加上要图像识别的,所以只能在桌面模拟输入输出。
对于python来说,模拟键盘的方式据我了解有三种方式,其中有pyuserinput,win32api,以及winio。
其中第一种可以应用普通的程序或者桌面的键盘输入,第二和第三则是比较接近底层的模拟键盘,如果想做游戏的脚本便可以用第二和第三种,顺便一提第三种只使用圆孔的ps/2的键盘,第二种win32api亲测可以用于制作模拟dnf键盘移动的脚本。

Pyuserinput
要使用Pysuerinput之前需要一些准备,安装好相关的库,先安装pywin32,以及pyHook,然后再安装pyuserinput
import pymouse,pykeyboard,os,sysfrom pymouse import *from pykeyboard import PyKeyboardm = PyMouse()k = PyKeyboard()#鼠标操作:m.click(x,y,button,n) #鼠标点击#x,y –是坐标位置#buttong – 1表示左键,2表示点击右键#n – 点击次数,默认是1次,2表示双击m.move(x,y) #–鼠标移动到坐标(x,y)x_dim, y_dim = m.screen_size() #–获得屏幕尺寸#键盘操作:k.type_string(‘Hello, Python!’)# –模拟键盘输入字符串k.press_key(‘A’) #–模拟键盘按A键k.release_key(‘A’)# –模拟键盘松开A键k.tap_key(“B”) #–模拟点击B键k.tap_key(‘H’,n=2,interval=5)#–模拟点击H键,2次,每次间隔5秒k.tap_key(k.function_keys) #–点击功能键F5k.tap_key(k.numpad_keys,3) #–点击小键盘5,3次#联合按键模拟#例如同时按alt+tab键盘k.press_key(k.alt_key)# –按住alt键k.tap_key(k.tab_key) #–点击tab键k.release_key(k.alt_key)# –松开alt键
【请问用Python能否做网页游戏的后台模拟鼠标类的脚本么】 以上便是有关Pysuerinput的相关操作,并不是很难理解,一些方法也相当方便我们使用。

win32api:
准备:安装好pywin32,pip insatall pywin32
然后使用时
import win32api
import win32con #导入这两个模块
import time #导入时间模块要有中断时间
import ctypes
以下是我自己的模拟按键按下抬起的方法:
def keydownup(num): MapVirtualKey = ctypes.windll.user32.MapVirtualKeyA time.sleep(0.4) win32api.keybd_event(num, MapVirtualKey(num, 0), 0, 0) time.sleep(0.2) win32api.keybd_event(num, MapVirtualKey(num, 0), win32con.KEYEVENTF_KEYUP, 0)
其中MapVirtualkey是扫描码,一般不使用这个,如果要制作控制游戏人物的脚本时一定要填入扫描码才能在游戏中实现硬件级键盘模拟。
方法很简单
win32api.keybd_event(虚拟码,扫描码,0,0)
第一个参数是虚拟码有一些是不太一样的,需要自己根据自己的电脑测出相关的虚拟码,其中一些虚拟码,
left_arrow = 0x61up_arrow = 0x65right_arrow = 0x63down_arrow = 0x62a = 0x41d = 0x44x = 0x58
第二个参数是扫描码,如果一个一个去寻找扫描码会很麻烦,可以像我那样,在方法开始处或者程序起始处添加这么一句
MapVirtualKey = ctypes.windll.user32.MapVirtualKeyA


推荐阅读