python游戏脚本开发【塔防精灵】

今天开始为自己玩的一款小游戏开发一个python游戏脚本

一、窗口类

 hwnd = win32gui.FindWindow(0, "雷电模拟器")

先调用win32gui 获取到窗口句柄
FindWindow(lpClassName=None, lpWindowName=None)
两个参数,一个类名,一个标题名。在这里插入图片描述
import win32gui

使用 win32gui.EnumChildWindows() 函数枚举指定窗口下的所有子控件,并将它们的句柄添加到控件句柄列表中:
def callback(hwnd, controls):
controls.append(hwnd)
其中,hwnd 是指定窗口的句柄,callback 是回调函数,controls 是控件句柄列表。
hwnd = win32gui.FindWindow(None, “窗口标题”) # 根据窗口标题获取句柄
controls = []
win32gui.EnumChildWindows(hwnd, callback, controls)

for control in controls:
print(control)

后台键鼠操作

注:在雷电模拟器中,键鼠操作的句柄应为模拟器的子窗口 TheRender,而不是顶级窗口。一开始测试好键鼠后,去搞
截图,把句柄设成了顶级,然后回来键鼠,一直失败,卡了好久,最后面才发现是句柄问题。

2023.11.11 04:00
完成了后台键鼠和后台找图功能后,发现一个问题,截图采用的是雷电的句柄,计算的坐标是带着雷电边框算的,而后台键鼠的坐标是直接从游戏窗口算的,坐标会有偏差。通过计算得到,x偏移1 ,y 偏移34

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值