A lightweight, native Windows clipboard manager built with .NET 8 and WPF. Records clipboard history and lets you browse, search, and reuse copied content.
- Real-time Monitoring — Automatically captures text, images, and file paths copied to the clipboard
- Rich History — Browse your clipboard history in a scrollable, searchable list
- Quick Paste — Double-click any item to restore it to the clipboard, then
Ctrl+Vto paste - Deduplication — Skips duplicate content to keep history clean
- Search & Filter — Real-time text search across your clipboard history
- Pin Items — Pin important items so they won't be auto-cleaned
- Image Support — Captures screenshots and copied images as PNG files
- Global Hotkey —
Ctrl+Shift+Vto show/hide the window from anywhere - System Tray — Runs quietly in the system tray, out of your way
- Auto Cleanup — Automatically trims history to the most recent 500 items (pinned items preserved)
- Single Instance — Ensures only one copy runs at a time
- Windows 10 or later
- .NET 8 Desktop Runtime (or .NET 8 SDK to build from source)
- Go to the Releases page
- Download the latest
ClipboardApp.zip - Extract and run
ClipboardApp.exe
git clone https://github.com/<your-repo>/Clipboard.git
cd Clipboard
dotnet build
dotnet run --project src/ClipboardApp| Action | How |
|---|---|
| Show/Hide window | Press Ctrl+Shift+V or double-click tray icon |
| Copy from history | Select an item and double-click, or right-click → Copy |
| Paste to app | Ctrl+V after restoring from history |
| Search history | Type in the search box at the top |
| Pin an item | Right-click the item → Pin / Unpin |
| Delete an item | Right-click the item → Delete |
| Clear all history | Click "Clear All" button at the bottom |
| Toggle always-on-top | Click "Topmost" button at the bottom |
| Hide window | Press Esc or click outside the window |
| Exit application | Right-click tray icon → Exit |
Clipboard/
├── Clipboard.sln
└── src/ClipboardApp/
├── Assets/
│ └── icon.png # Application icon
├── Models/
│ ├── ClipboardItem.cs # Data model
│ ├── BoolToVisibilityConverter.cs
│ └── Converters.cs # Value converters
├── NativeMethods/
│ └── Win32.cs # P/Invoke declarations
├── Services/
│ ├── ClipboardMonitor.cs # Win32 clipboard listener
│ ├── ClipboardStorage.cs # SQLite database layer
│ └── HotkeyManager.cs # Global hotkey registration
├── ViewModels/
│ └── MainViewModel.cs # MVVM ViewModel
├── App.xaml / App.xaml.cs # Entry point, system tray, lifecycle
└── MainWindow.xaml / .cs # Main UI window
- .NET 8 (LTS)
- WPF for native Windows UI
- SQLite via
Microsoft.Data.Sqlitefor local storage - Win32 API via P/Invoke for clipboard listening, hotkeys, and system tray
All clipboard history is stored locally in a SQLite database at:
%LocalAppData%\ClipboardApp\clipboard.db
Images are saved to:
%LocalAppData%\ClipboardApp\Images\
MIT
一款基于 .NET 8 + WPF 构建的轻量级 Windows 剪切板管理工具,可记录和查看剪切板历史,支持浏览、搜索和重用已复制内容。
- 实时监听 — 自动捕获复制到剪切板的文本、图片和文件路径
- 历史记录 — 可滚动、可搜索的历史记录列表
- 快速粘贴 — 双击任意条目恢复到剪切板,然后
Ctrl+V粘贴 - 自动去重 — 跳过重复内容,保持历史记录整洁
- 搜索过滤 — 实时文本搜索过滤历史记录
- 置顶 — 置顶重要条目,自动清理时不会被删除
- 图片支持 — 捕获截图和复制图片并保存为 PNG
- 全局快捷键 —
Ctrl+Shift+V随时随地显示/隐藏窗口 - 系统托盘 — 在系统托盘静默运行,不干扰工作
- 自动清理 — 自动保留最近 500 条记录(已置顶项目不会被清理)
- 单例运行 — 同一时间仅允许一个实例运行
- Windows 10 或更高版本
- .NET 8 Desktop Runtime(从源码构建需 .NET 8 SDK)
- 前往 Releases 页面
- 下载最新版
ClipboardApp.zip - 解压后运行
ClipboardApp.exe
git clone https://github.com/<your-repo>/Clipboard.git
cd Clipboard
dotnet build
dotnet run --project src/ClipboardApp| 操作 | 方式 |
|---|---|
| 显示/隐藏窗口 | 按 Ctrl+Shift+V 或双击托盘图标 |
| 从历史复制 | 选中条目双击,或右键 → Copy |
| 粘贴到应用 | 恢复后按 Ctrl+V 粘贴 |
| 搜索历史 | 在顶部搜索框输入关键字 |
| 置顶条目 | 右键条目 → Pin / Unpin |
| 删除条目 | 右键条目 → Delete |
| 清空全部历史 | 点击底部 Clear All 按钮 |
| 窗口置顶 | 点击底部 Topmost 按钮切换 |
| 隐藏窗口 | 按 Esc 或点击窗口外部 |
| 退出应用 | 右键托盘图标 → Exit |
Clipboard/
├── Clipboard.sln
└── src/ClipboardApp/
├── Assets/
│ └── icon.png # 应用图标
├── Models/
│ ├── ClipboardItem.cs # 数据模型
│ ├── BoolToVisibilityConverter.cs
│ └── Converters.cs # 值转换器
├── NativeMethods/
│ └── Win32.cs # Win32 API P/Invoke 声明
├── Services/
│ ├── ClipboardMonitor.cs # 剪切板监听服务
│ ├── ClipboardStorage.cs # SQLite 数据存储层
│ └── HotkeyManager.cs # 全局热键注册
├── ViewModels/
│ └── MainViewModel.cs # MVVM 视图模型
├── App.xaml / App.xaml.cs # 入口、系统托盘、生命周期管理
└── MainWindow.xaml / .cs # 主界面窗口
- .NET 8 (LTS)
- WPF — Windows 原生界面框架
- SQLite(通过
Microsoft.Data.Sqlite)— 本地数据存储 - Win32 API(P/Invoke)— 剪切板监听、全局热键、系统托盘
剪切板历史存储在本地 SQLite 数据库中:
%LocalAppData%\ClipboardApp\clipboard.db
图片保存路径:
%LocalAppData%\ClipboardApp\Images\
MIT