关于spy++
最近在复现一个游戏脚本,为了固定游戏界面窗口使用了spy++工具获取窗口的句柄handle。
网上有很多关于spy++的下载和使用教程,我在这里就不重复说辣。

def full_screenshot():
hwnd = win32gui.FindWindow(None, "qq")
print(hwnd)
if not hwnd:
print('window not found!')
time.sleep(3)
win32gui.ShowWindow(hwnd, win32con.SW_RESTORE) # 强行显示界面后才好截图
# 将窗口提到最前
shell = win32com.client.Dispatch("WScript.Shell")
shell.SendKeys('%')
win32gui.SetForegroundWindow(hwnd)
# 裁剪得到全图
game_rect = win32gui.GetWindowRect(hwnd) # (left top right, down)
x = game_rect[2] - game_rect[0]
y = game_rect[3] - game_rect[1]
src_image = ImageGrab.grab(game_rect)
# print(src_image)
return x, y, src_image
需要注意的是,win32gui.FindWindow()函数获取的handle是十进制的,但
spy++获取的handle是16进制的。需要做转换代码才能运行成功哦!
本文介绍了如何使用Spy++工具获取游戏窗口句柄,并通过Python的win32gui模块来管理和截图。在代码示例中,展示了FindWindow函数查找窗口句柄,以及SetForegroundWindow和ShowWindow等函数的应用,确保窗口可见并置于前台,最终截取全屏图像。
1217

被折叠的 条评论
为什么被折叠?



