Window:Windows 窗口自动化核心类
Window 类提供了对 Windows 窗口最全面的控制能力,支持后台点击、输入、精准坐标控制及高清截图。
1. 导入模块
在开始编写代码前,请先导入核心类及相关枚举:
# 导入窗口操作核心类及截图格式枚举
from ascript.windows.window import Window
2. 静态方法(找窗口、开程序)
🔍 批量查找 find_all()
扫描当前系统中所有满足条件的窗口。
代码块:
# 扫描并返回满足条 件的窗口对象列表
Window.find_all(title_re=None, process_name=None, class_name=None, visible_only=True)
参数详解:
- title_re (str): 窗口标题的正则表达式。
- process_name (str): 进程名称(如
"chrome.exe"),匹配时忽略大小写。 - class_name (str): 窗口的系统类名(ClassName),需完全匹配。
- visible_only (bool): 是否只匹配当前对用户可见的窗口。默认为
True。
案例:
# 找到所有名为“微信”的窗口并打印它们的句柄
wins = Window.find_all(title_re="微信")
for w in wins:
print(f"找到句柄: {w.hwnd}")
🎯 快速检索 find()
查找并返回满足条件的第一个窗口。
代码块:
# 查找满足条件的第一个窗口对象
Window.find(title_re=None, process_name=None, class_name=None, visible_only=True, timeout=0)
参数详解:
- title_re (str): 窗口标题的正则表达式。
- process_name (str): 进程名称。
- class_name (str): 窗口的系统类名。
- visible_only (bool): 是否只匹配可见窗口。
- timeout (int): 检索超时时间(秒)。为
0时立即返回;大于0时将以 0.5s 为间隔持续轮询。
案例:
# 等待记事本打开,最多等 10 秒
win = Window.find(process_name="notepad.exe", timeout=10)
⚡ 启动程序 launch()
启动目标程序,并自动获取其窗口对象。
代码块:
# 启动程序并自动关联窗口
Window.launch(name=None, path=None, allow_multiple=False, timeout=15)
参数详解:
- name (str): 程序标识名。
- path (str): 程序可执行文件的完整物理路径。
- allow_multiple (bool): 是否允许启动多个实例。若为
False且程序已运行,则直接唤醒现有窗口。 - timeout (int): 等待新窗口生成的超时秒数。
案例:
# 启动记事本
win = Window.launch(path="notepad.exe")