摘要
关于模拟器前台的一些个人经验
可以用spy++查看,模拟器最顶端是一个模拟器的窗口,然后还有subwindow,
例如雷电模拟器,
窗口名字: 雷电模拟器 TheRender sub
获取到这个TheRender的handle给handle_num即可
另外,木木模拟器实测无法完成点击,有可能是对后台模拟操作进行了屏蔽。
自用偷懒的改法,
diff --git a/modules/ModuleHandleSet.py b/modules/ModuleHandleSet.py
index 73f1856..4c00ba9 100644
--- a/modules/ModuleHandleSet.py
+++ b/modules/ModuleHandleSet.py
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+import win32gui
from os.path import abspath, dirname
from win32api import OpenProcess
from win32con import PROCESS_ALL_ACCESS
@@ -20,6 +21,8 @@ class HandleSet:
def get_handle_num(self):
"""通过句柄标题获取句柄编号"""
self.handle_num = FindWindow(None, self.handle_title) # 搜索句柄标题,获取句柄编号
+ self.handle_num = win32gui.FindWindowEx(self.handle_num, 0, None, "TheRender")
+ print("adjust handle to", self.handle_num)
if self.handle_num == 0:
print("目标程序未启动,即将中止!")
return None # 返回异常