Warning
本项目不是 Maccy 官方 Windows 版本,也不隶属于、代表或获得 Maccy 官方项目授权。
Caution
关于杀毒软件误报: 为实现全局快捷键和跨应用粘贴,本项目使用 WH_KEYBOARD_LL 监听低级键盘事件,并可能屏蔽按键后通过 SendInput 重放。WH_KEYBOARD_LL + 屏蔽按键 + SendInput 重放 正是杀软常见的键盘记录器、自动化工具或木马启发式特征,因此部分杀软可能将 Maccy 报告为木马或高风险程序。该行为本身不代表恶意,但行为模式确实很像。请从 GitHub Releases 下载程序,并核对同一 Release 中的 SHA256SUMS.txt。
- 通过 Windows 系统托盘和全局快捷键访问剪贴板历史;
- 保存文本、图片和文件剪贴板格式;
- 支持精确、模糊、正则和混合搜索;
- 精确搜索使用 SQLite FTS5,图片本身不参与文本搜索;
- 支持固定项目、编辑固定文本、忽略应用程序、剪贴板格式和正则内容;
- 支持 Windows 剪贴板历史记录标记,避免保存明确标记为不应进入历史的内容;
- 可手动或在启动时检查 GitHub Releases,只提示新版本,不自动下载或替换程序;
- 本地 SQLite 存储,不上传剪贴板内容。
- Maccy 使用 macOS 菜单栏;本项目使用 Windows 系统托盘和全局快捷键。
- Maccy 定时检查剪贴板;本项目使用 Windows
WM_CLIPBOARDUPDATE事件监听。 - Maccy 主要搜索生成后的项目标题;本项目还会搜索保存的文本正文和文件路径。
- Maccy 会尝试使用 OCR 生成图片标题;本项目不进行 OCR,图片仅作为图片项目保存和预览。
- Maccy 使用 macOS Pasteboard 和 SwiftData;本项目使用 Windows 原生剪贴板格式和 SQLite BLOB。
- 本项目不包含 Universal Clipboard、iCloud 或 macOS App Intents 等 macOS 集成。
| 历史记录 | 内容 | 后台内存占用 |
|---|---|---|
| 0 条 | 全新启动,无历史记录 | 3.07 MB |
| 200 条 | 每条 55 字节的短文本 | 3.99 MB |
| 200 条 | 每条 50 KB 的长文本 | 10.84 MB |
| 200 条 | 每张 800 × 600 像素的图片 | 11.54 MB |
| 200 条 | 短文本、长文本和图片混合 | 12.04 MB |
| 1000 条 | 每条 55 字节的短文本 | 8.38 MB |
| 1000 条 | 每条 50 KB 的长文本 | 36.05 MB |
| 1000 条 | 每张 800 × 600 像素的图片 | 14.43 MB |
| 1000 条 | 短文本、长文本和图片混合 | 18.46 MB |
请从 GitHub Releases 下载带有版本号的 NSIS 安装程序,并核对同一 Release 中的 SHA256SUMS.txt。
NSIS 安装程序仅为当前 Windows 用户安装到 %LOCALAPPDATA%\Programs\maccy,无需管理员权限;开始菜单快捷方式和登录启动项也仅属于当前用户。安装完成页可选择启动 Maccy,桌面快捷方式可在安装过程中选择。
升级请使用同一个 NSIS 安装程序:从应用的更新提示打开 GitHub Releases,下载新版安装程序并运行。安装程序会关闭正在运行的 Maccy,在原用户安装目录内替换程序文件,并保留剪贴板历史、设置和登录启动项。旧版全机安装需先由管理员卸载一次,再安装每用户版本。
卸载时默认保留 %LOCALAPPDATA%\maccy 中的剪贴板历史和设置。若要同时删除历史、固定项目、设置及其他 Maccy 本地数据,请在卸载页勾选删除选项;此操作不可撤销。
用户可见变化记录见 CHANGELOG.md。
开发环境要求:
- Windows x64;
- Visual Studio C++ 工具链;
- CMake 3.25 或更高版本;
- Ninja;
- vcpkg;
- C++20 编译器;
- NSIS,并确保
makensis.exe在PATH中。
在 Visual Studio x64 Developer PowerShell 的仓库根目录运行下面这一条命令,即可完成 Release 配置、编译,并生成 NSIS 安装程序和 SHA-256 校验文件:
cmake -DVCPKG_ROOT=C:/dev/vcpkg -P cmake/package-x64.cmakeVCPKG_ROOT 指向 vcpkg 根目录,默认版本从根目录的 version.txt 读取。需要临时覆盖时可传入 -DMACCY_VERSION="X.Y.Z"。首次运行会通过 vcpkg.json 安装依赖;产物和校验文件写入 build/packages/。脚本使用 x64 Visual Studio Release 配置,版本号会写入程序和安装包。
剪贴板历史包含用户可能不希望长期保存的密码、令牌、私人文本、图片和文件路径。应用默认将数据保存在:
%LOCALAPPDATA%\maccy\maccy.db
SQLite 的 -wal 和 -shm 文件也是数据库的一部分。当前存储未提供应用层加密;拥有当前 Windows 用户数据访问权限的进程可能读取这些内容。请在使用密码管理器、银行信息或其他敏感数据时配置忽略规则,并阅读 隐私和数据说明。
应用不包含遥测、剪贴板上传或后台自动下载安装服务。更新检查只请求 GitHub Releases 的公开版本信息;发现新版本后,应用会在用户确认后打开浏览器,不会自动下载或替换程序。
删除历史并不等同于取证意义上的安全擦除。需要彻底清理时,应退出应用后按照 隐私和数据说明 删除数据库及其 WAL 文件。
除明确标注的第三方文件外,本项目源代码采用 MIT License,见 LICENSE。
第三方组件和视觉资源遵循各自的许可证,来源和分发说明见 THIRD_PARTY_NOTICES/README.md:
- Maccy 图标和视觉资源:MIT License,见
THIRD_PARTY_NOTICES/Maccy-LICENSE.txt; - WTL、SQLite、CPR、nlohmann-json 及其传递依赖:许可证和版权声明见发行包
licenses/<port>/copyright目录,具体文件位置见第三方内容说明。
Maccy 的名称和 Logo 仍属于其相应权利人;本项目的许可证声明不构成商标或品牌授权。
欢迎提交问题、改进建议和 Pull Request。提交前请阅读:
请不要在公开 Issue 中提交安全漏洞、密码、令牌或未脱敏的剪贴板内容。
感谢 Alex Rodionov 和 Maccy 项目为 macOS 提供了优秀的剪贴板工具,也感谢其 MIT 许可证允许社区学习、修改和再利用相关软件与资源。


