Building Simply.ClipboardMonitor: A clipboard inspection tool in C# / WPF / .NET

Building Simply.ClipboardMonitor: A clipboard inspection tool in C# / WPF / .NET

# csharp# dotnet# wpf# opensource
Building Simply.ClipboardMonitor: A clipboard inspection tool in C# / WPF / .NETdbakuntsev

Overview Simply.ClipboardMonitor is a Windows desktop utility for developers who need to...

Overview

Simply.ClipboardMonitor is a Windows desktop utility for developers who need to see exactly what an application puts on the clipboard. It shows every format ID, raw bytes as a hex dump, decoded text with encoding detection, image previews, and a full history of clipboard changes - all updating in real time.

Repository

https://github.com/dbakuntsev/simply.clipboard-monitor

Key Features

  • Format list - every clipboard format ID and payload size, updated on each clipboard change
  • Hex viewer - offset/hex/ASCII dump for any byte-addressable format
  • Text preview - auto-detected encoding (CF_UNICODETEXT, CF_TEXT, CF_OEMTEXT, UTF-8, ...) with manual override
  • Image preview - renders DIB, HBITMAP, and encoded formats (PNG, JPEG, GIF) with zoom and pan
  • Clipboard history - timestamped log of past clipboard states, fully previewable
  • Save / Load snapshots - export clipboard state to a .clipdb file and restore it later
  • System tray + auto-start - runs silently in the background, starts when the users logs on

Implementation Details

The app registers as a clipboard listener via AddClipboardFormatListener and handles WM_CLIPBOARDUPDATE. Reading bytes is non-trivial because Win32 clipboard data arrives as different GDI handle types - HGLOBAL, HBITMAP, HENHMETAFILE - each requiring a different extraction strategy. These are modelled as small IHandleReadStrategy implementations wired up through Microsoft.Extensions.DependencyInjection.

History is persisted in SQLite, with blobs compressed using ZStandard and deduplicated by SHA-256, so identical payloads shared across formats are stored only once.

Conclusion

If you've ever needed to debug a clipboard integration or understand what a third-party app puts on the clipboard, give it a try. Pre-built portable binaries are available on the releases page. The project is MIT-licensed. Issues and contributions are welcome.

Please, leave questions in comments!