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-code

Installs into .claude/skills of the current project.

Files

Windows UI 自动化(pywinauto)

通过 pywinauto 操作任意 Windows 桌面应用:发现窗口、检查控件、点击按钮、输入文字、读取内容。 支持两种后端:Win32 API(传统应用)和 MS UI Automation(现代应用)。

使用场景

  • 用户说「帮我在 XX 应用里点一下那个按钮」「自动填一下这个表单」
  • 需要操作没有 API 的桌面应用(如 ERP 系统、内部管理系统)
  • 需要批量操作 GUI 应用(如自动录入数据)
  • 需要读取其他应用界面上的文字内容

后端选择

后端参数适用应用
Win32 APIbackend="win32"MFC、VB6、VCL、简单 WinForms
MS UI Automationbackend="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
1yizhiyanhua-ai avatarskills-updateryizhiyanhua-ai/skills-updaterCheck and update installed Claude Code skills from multiple sources (Claude plugins and npx skills). Scans for available updates, supports batch or individual u464skills.sh installs
2aj-geddes avatarserverless-architectureaj-geddes/useful-ai-promptsDesign and implement serverless applications using AWS Lambda, Azure Functions, and GCP Cloud Functions with event-driven patterns and orchestration.461skills.sh installs
3aj-geddes avatarsecrets-rotationaj-geddes/useful-ai-promptsImplement automated secrets rotation for API keys, credentials, certificates, and encryption keys. Use when managing secrets lifecycle, compliance requirements,459skills.sh installs
4robthepcguy avatarpatent-claims-analyzerrobthepcguy/claude-patent-creatorAutomated analysis of patent claims for USPTO compliance with 35 USC 112(b) requirements - antecedent basis, definiteness, claim structure457skills.sh installs
5secondsky avatarinternationalization-i18nsecondsky/claude-skillsImplements multi-language support using i18next, gettext, or Intl API with translation workflows and RTL support. Use when building multilingual applications, h455skills.sh installs
6ythx-101 avatarx-tweet-fetcherythx-101/x-tweet-fetcherFetch tweets, replies, timelines, search results, X Lists, and X Articles from X/Twitter without login or API keys. Single tweets: zero dependencies (FxTwitter)455skills.sh installs