# capslock图标 **Repository Path**: fusth3/capslock-icon ## Basic Information - **Project Name**: capslock图标 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-12 - **Last Updated**: 2026-05-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Caps Lock Indicator Windows 系统托盘 Caps Lock 状态指示器。在任务栏右下角显示大写 `A`(Caps Lock ON)或小写 `a`(Caps Lock OFF),纯净透明背景,支持暗/亮色任务栏自动适配。 --- ## 📁 文件说明 | 文件 | 用途 | |------|------| | `caps_lock_tray.py` | 主程序 — 系统托盘图标,实时检测 Caps Lock 状态 | | `caps_lock_widget.py` | 旧版本 — 悬浮窗口(已废弃,保留参考) | | `launch_widget.vbs` | 静默启动脚本 — 双击无控制台窗口运行 | | `install_startup.bat` | 一键安装开机自启动 | | `uninstall_startup.bat` | 一键卸载 — 关闭进程 + 移除开机启动 | | `widget_config.json` | 窗口位置配置(仅旧版使用) | --- ## 🚀 快速开始 ### 1. 手动启动 双击 `launch_widget.vbs`,任务栏右下角即出现 Caps Lock 图标。 ### 2. 开机自启动 右键以管理员身份运行 `install_startup.bat`,稍后即可看到图标。 --- ## 🔧 操作方式 | 操作 | 方法 | |------|------| | 查看状态 | 看任务栏图标:`A` = ON,`a` = OFF | | 退出程序 | 右键托盘图标 → **退出 (&Q)** | --- ## 🧹 完全卸载 双击运行 `uninstall_startup.bat`: 1. 强制结束正在运行的进程 2. 移除开机自启动快捷方式 --- ## 📋 特性 - **透明背景** — 32bpp ARGB DIBSection 绘制,与输入法"中"图标同款效果 - **主题自适应** — 暗色任务栏显示白色字,亮色任务栏显示黑色字 - **实时响应** — 150ms 轮询 Caps Lock 按键状态 - **单实例运行** — 通过 Global Mutex 防止重复启动 - **静默运行** — 通过 VBS 调用 `pythonw.exe`,无控制台窗口 - **WM_SETTINGCHANGE** — Windows 主题切换时自动重建图标 --- ## ⚙️ 环境依赖 - Windows 10 / 11 - Python 3.x(系统需安装并配置 PATH) --- ## 📝 原理 ``` GetKeyState(0x14) → Caps Lock 状态 ↓ GDI CreateFontW + DrawTextW → 在内存 DC 绘制字符 ↓ GetPixel 逐像素读取 → 区分文字/背景 ↓ CreateDIBSection (32bpp ARGB) → 透明图标 ↓ Shell_NotifyIconW → 系统托盘显示