一、环境配置和安装

本文面向第一次接触 winautox 的读者:按顺序做完,用系统自带的「记事本」就能验证环境是否正常。


写在前面:你会得到什么

装好后你可以写 Python 脚本,让电脑自动:

  1. 找到某个窗口(记事本、聊天软件、业务客户端……)
  2. 找到窗口里的按钮、输入框
  3. 自动点击、输入文字、复制粘贴

桌面软件(控件浏览器)只是试跑工具;正式脚本以 方法手册 为准。
软件安装包见 软件下载,界面说明见 开发软件


一、环境要求(先核对)

项目要求怎么检查
操作系统Windows 10 / 11(或 Server 2016+)设置 → 系统 → 关于
Python3.10、3.11 或 3.12(推荐 3.12)打开 PowerShell,输入 py -3 --version
权限一般普通用户即可;窗口最好在前台可见不要把目标窗口最小化后再测

winautox 是通用 Windows 窗口自动化库,复制目录即可用,不依赖其它业务包。

常见坑:装了 Python 3.13+ 或 3.9 可能装不上依赖。请用 3.10–3.12。


二、获取与放置(目录很重要)

步骤 1:拿到完整文件夹

拿到完整的 winautox 文件夹。里面通常有:

winautox/
  __init__.py
  auto/          ← 自动化核心
  uia/           ← 含 bin/*.dll(不要删)
  utils/
  requirements.txt
  requirements_vision.txt
  ...

⚠️ 不要只拷某一个 .py 文件;缺 uia/bin 里的 dll 会无法找控件。

步骤 2:放在项目旁边

建议这样摆:

我的项目/                 ← 你自己建的文件夹
  winautox/               ← 本库(完整目录)
  demo.py                 ← 你的第一个脚本(下一步会写)

之后在「我的项目」目录里打开终端,才能顺利 from winautox import WinAuto

步骤 3:安装依赖

在「我的项目」目录打开 PowerShellcmd,执行:

# 若 py 命令可用(推荐)
py -3 -m pip install -r winautox/requirements.txt

# 或
python -m pip install -r winautox/requirements.txt

装完后应看到 Successfully installed ...,没有大片红色报错。

可选(只有要用找图 / 找色 / OCR 时再装):

py -3 -m pip install -r winautox/requirements_vision.txt

基础点击、输入不需要视觉依赖。


三、第一次测试(用记事本)

步骤 1:打开记事本

Win + R,输入 notepad,回车。窗口标题可能是「无标题 - 记事本」或「Untitled - Notepad」。

步骤 2:新建 demo.py

在「我的项目」下新建 demo.py,粘贴:

# -*- coding: utf-8 -*-
"""第一次运行:自动往记事本输入一行字。"""
from winautox import WinAuto
import time

# 1)找窗口:ClassName 一般是 Notepad;标题「包含」关键字即可
hwnd = (
    WinAuto.find_hwnd('Notepad', '记事本')
    or WinAuto.find_hwnd('Notepad', '无标题')
    or WinAuto.find_hwnd('Notepad', 'Untitled')
)
if not hwnd:
    raise RuntimeError(
        '没找到记事本窗口。请先手动打开记事本,再运行本脚本。'
    )

# 2)绑定窗口:mode='uia' 是新手最稳的模式
auto = WinAuto(hwnd, mode='uia')
auto.activate()          # 把窗口拉到前台
time.sleep(0.3)          # 等一下再操作,避免太快

# 3)找编辑框:不同系统可能是 EditControl 或 DocumentControl
edit = auto.find(ctrl_type='EditControl', depth=10)
if not edit:
    edit = auto.find(ctrl_type='DocumentControl', depth=10)
if not edit:
    raise RuntimeError('打开了记事本,但没找到编辑区。请把窗口最大化后再试。')

# 4)输入:中文务必 paste=True(走剪贴板粘贴,最稳)
auto.input('你好,winautox', ctrl=edit, paste=True)
print('成功!已写入记事本。hwnd=', hwnd)

步骤 3:运行

在「我的项目」目录:

py -3 demo.py

成功标准:记事本里出现「你好,winautox」,终端打印 成功!

失败时怎么查

现象可能原因处理
ModuleNotFoundError: winautox终端不在「我的项目」目录,或文件夹名/位置不对cd 到含 winautox 的目录再运行
请先打开记事本没开记事本,或标题关键字不对先开记事本;英文系统试 Untitled
未找到编辑框窗口最小化 / 权限 / 控件类型变化窗口置于前台;换 DocumentControl
有字但乱码脚本文件编码不是 UTF-8用编辑器保存为 UTF-8

四、导入方式(以后脚本怎么写)

from winautox import WinAuto, MODE_AUTO, MODE_UIA, MODE_POST, MODE_MOUSE, MODE_HUMAN
# 等价:
# from winautox.auto import WinAuto

几乎所有操作都从 WinAuto 实例 出发:先找到 hwnd,再 auto = WinAuto(hwnd, mode='uia')


五、操作模式怎么选(新手看这里)

模式一句话建议
uia通过控件树点按钮、输入优先用这个
mouse真的移动鼠标去点UIA 点不到时再用
human带曲线的拟人鼠标需要更像真人时用,见 拟人操作
auto自动尝试多种方式省事,但出问题时难排查
post / send后台发消息新手可先跳过

详细说明见 构造与绑定


六、会员、激活码与续费

若你的发行版需要激活码才能用完整功能 / 获取更新:

  1. 注册并登录文档站会员
  2. 打开 会员中心 购买或续费
  3. 按发货得到的激活码在本机激活

完整教程:会员登录、激活码、购买与续费


下一步

环境通了以后,请跟做:快速开始(绑定 → 看控件树 → 点击 → 输入)。

下一页快速开始