
Pywinauto
You need to automate a Windows desktop app that doesn't have an API? This is your tool. It wraps pywinauto to let Claude click buttons, fill forms, and scrape text from any Win32 or UIA application. Works with everything from old MFC apps to modern WPF and UWP. The skill includes both backends (win32 for legacy stuff, uia for newer apps), handles window discovery, control inspection, keyboard input with special keys, mouse operations, and scrolling. One thing to watch: it requires HITL confirmation before each operation, which is smart for safety but means you can't fully background these automations. Best for internal tools, legacy ERP systems, or any GUI you'd otherwise drive manually.
- skills.sh installs
- 464
- GitHub stars
- 37
- last updated
- Aug 21, 2026
Install
$ npx -y skills add malue-ai/dazee-small --skill pywinauto --agent claude-codeInstalls into .claude/skills of the current project.
Files
Windows UI 自动化(pywinauto)
通过 pywinauto 操作任意 Windows 桌面应用:发现窗口、检查控件、点击按钮、输入文字、读取内容。 支持两种后端:Win32 API(传统应用)和 MS UI Automation(现代应用)。
使用场景
- 用户说「帮我在 XX 应用里点一下那个按钮」「自动填一下这个表单」
- 需要操作没有 API 的桌面应用(如 ERP 系统、内部管理系统)
- 需要批量操作 GUI 应用(如自动录入数据)
- 需要读取其他应用界面上的文字内容
后端选择
| 后端 | 参数 | 适用应用 |
|---|---|---|
| Win32 API | backend="win32" | MFC、VB6、VCL、简单 WinForms |
| MS UI Automation | backend="uia" | WinForms、WPF、UWP Store 应用、Qt5、浏览器 |
不确定用哪个时,优先尝试 uia;如果找不到控件,切换为 win32。
命令参考
连接到已有应用
from pywinauto import Application
# 方式 1:通过窗口标题连接
app = Application(backend="uia").connect(title="记事本", timeout=10)
# 方式 2:通过进程名连接
app = Application(backend="uia").connect(path="notepad.exe")
# 方式 3:通过进程 ID 连接
app = Application(backend="uia").connect(process=12345)
启动新应用
from pywinauto import Application
app = Application(backend="uia").start("notepad.exe")
# 等待窗口出现
app.window(title_re=".*记事本.*").wait("ready", timeout=10)
发现窗口和控件
# 列出所有顶层窗口
from pywinauto import Desktop
windows = Desktop(backend="uia").windows()
for w in windows:
print(f"{w.window_text()} — {w.class_name()}")
Sponsors
Details
- Repository
- github.com/malue-ai/dazee-small
- Category
- Automation & Workflows
- First seen
- Jun 3, 2026